From 3f619478f796eddbba6e39502fe941b285dd97b1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 20:00:34 +0200 Subject: Adding upstream version 1:10.11.6. Signed-off-by: Daniel Baumann --- mysql-test/suite/engines/iuds/combinations | 8 + mysql-test/suite/engines/iuds/disabled.def | 3 + .../suite/engines/iuds/r/delete_decimal.result | 535 + mysql-test/suite/engines/iuds/r/delete_time.result | 739 + mysql-test/suite/engines/iuds/r/delete_year.result | 392 + .../suite/engines/iuds/r/insert_calendar.result | 28444 ++++++ .../suite/engines/iuds/r/insert_decimal.result | 2855 + .../suite/engines/iuds/r/insert_number.result | 34950 +++++++ mysql-test/suite/engines/iuds/r/insert_time.result | 5190 ++ mysql-test/suite/engines/iuds/r/insert_year.result | 6247 ++ .../iuds/r/strings_charsets_update_delete.result | Bin 0 -> 112230 bytes .../engines/iuds/r/strings_update_delete.result | 70475 +++++++++++++++ .../suite/engines/iuds/r/type_bit_iuds.result | 90019 +++++++++++++++++++ .../suite/engines/iuds/r/update_decimal.result | 1156 + .../engines/iuds/r/update_delete_calendar.result | 1913 + .../engines/iuds/r/update_delete_number.result | 4107 + mysql-test/suite/engines/iuds/r/update_time.result | 1486 + mysql-test/suite/engines/iuds/r/update_year.result | 957 + mysql-test/suite/engines/iuds/suite.opt | 2 + .../suite/engines/iuds/t/delete_decimal.test | 383 + mysql-test/suite/engines/iuds/t/delete_time.test | 122 + mysql-test/suite/engines/iuds/t/delete_year.test | 110 + mysql-test/suite/engines/iuds/t/hindi.txt | 50 + .../suite/engines/iuds/t/insert_calendar.test | 5983 ++ .../suite/engines/iuds/t/insert_decimal.test | 976 + mysql-test/suite/engines/iuds/t/insert_number.test | 8164 ++ mysql-test/suite/engines/iuds/t/insert_time.test | 1065 + mysql-test/suite/engines/iuds/t/insert_year.test | 1506 + mysql-test/suite/engines/iuds/t/sample.txt | 500 + .../iuds/t/strings_charsets_update_delete.test | 134 + .../engines/iuds/t/strings_update_delete.test | 146 + mysql-test/suite/engines/iuds/t/type_bit_iuds.test | 18324 ++++ .../suite/engines/iuds/t/update_decimal.test | 553 + .../engines/iuds/t/update_delete_calendar.test | 758 + .../suite/engines/iuds/t/update_delete_number.test | 1784 + mysql-test/suite/engines/iuds/t/update_time.test | 198 + mysql-test/suite/engines/iuds/t/update_year.test | 212 + 37 files changed, 290446 insertions(+) create mode 100644 mysql-test/suite/engines/iuds/combinations create mode 100644 mysql-test/suite/engines/iuds/disabled.def create mode 100644 mysql-test/suite/engines/iuds/r/delete_decimal.result create mode 100644 mysql-test/suite/engines/iuds/r/delete_time.result create mode 100644 mysql-test/suite/engines/iuds/r/delete_year.result create mode 100644 mysql-test/suite/engines/iuds/r/insert_calendar.result create mode 100644 mysql-test/suite/engines/iuds/r/insert_decimal.result create mode 100644 mysql-test/suite/engines/iuds/r/insert_number.result create mode 100644 mysql-test/suite/engines/iuds/r/insert_time.result create mode 100644 mysql-test/suite/engines/iuds/r/insert_year.result create mode 100644 mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result create mode 100644 mysql-test/suite/engines/iuds/r/strings_update_delete.result create mode 100644 mysql-test/suite/engines/iuds/r/type_bit_iuds.result create mode 100644 mysql-test/suite/engines/iuds/r/update_decimal.result create mode 100644 mysql-test/suite/engines/iuds/r/update_delete_calendar.result create mode 100644 mysql-test/suite/engines/iuds/r/update_delete_number.result create mode 100644 mysql-test/suite/engines/iuds/r/update_time.result create mode 100644 mysql-test/suite/engines/iuds/r/update_year.result create mode 100644 mysql-test/suite/engines/iuds/suite.opt create mode 100644 mysql-test/suite/engines/iuds/t/delete_decimal.test create mode 100644 mysql-test/suite/engines/iuds/t/delete_time.test create mode 100644 mysql-test/suite/engines/iuds/t/delete_year.test create mode 100644 mysql-test/suite/engines/iuds/t/hindi.txt create mode 100644 mysql-test/suite/engines/iuds/t/insert_calendar.test create mode 100644 mysql-test/suite/engines/iuds/t/insert_decimal.test create mode 100644 mysql-test/suite/engines/iuds/t/insert_number.test create mode 100644 mysql-test/suite/engines/iuds/t/insert_time.test create mode 100644 mysql-test/suite/engines/iuds/t/insert_year.test create mode 100644 mysql-test/suite/engines/iuds/t/sample.txt create mode 100644 mysql-test/suite/engines/iuds/t/strings_charsets_update_delete.test create mode 100644 mysql-test/suite/engines/iuds/t/strings_update_delete.test create mode 100644 mysql-test/suite/engines/iuds/t/type_bit_iuds.test create mode 100644 mysql-test/suite/engines/iuds/t/update_decimal.test create mode 100644 mysql-test/suite/engines/iuds/t/update_delete_calendar.test create mode 100644 mysql-test/suite/engines/iuds/t/update_delete_number.test create mode 100644 mysql-test/suite/engines/iuds/t/update_time.test create mode 100644 mysql-test/suite/engines/iuds/t/update_year.test (limited to 'mysql-test/suite/engines/iuds') diff --git a/mysql-test/suite/engines/iuds/combinations b/mysql-test/suite/engines/iuds/combinations new file mode 100644 index 00000000..2077c41a --- /dev/null +++ b/mysql-test/suite/engines/iuds/combinations @@ -0,0 +1,8 @@ +[innodb] +innodb +default-storage-engine=innodb + +[myisam] +skip-innodb +default-storage-engine=myisam + diff --git a/mysql-test/suite/engines/iuds/disabled.def b/mysql-test/suite/engines/iuds/disabled.def new file mode 100644 index 00000000..7fd504c0 --- /dev/null +++ b/mysql-test/suite/engines/iuds/disabled.def @@ -0,0 +1,3 @@ +insert_calendar : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value +update_delete_calendar : Bug#52824 + Bug#52283(in case of Innodb) + diff --git a/mysql-test/suite/engines/iuds/r/delete_decimal.result b/mysql-test/suite/engines/iuds/r/delete_decimal.result new file mode 100644 index 00000000..1925bef5 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/delete_decimal.result @@ -0,0 +1,535 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 DECIMAL(10,5) UNSIGNED NOT NULL, c2 DECIMAL(10,5) SIGNED NULL, c3 DECIMAL, c4 INT, UNIQUE INDEX idx(c1,c4)); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +1.00000 1.00000 1 7 +100.00000 1001.00000 10000 4 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11111.00009 -9999.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +DELETE FROM t1 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +10000.00000 0.00001 +11111.00009 -9999.99999 +99999.99999 -99999.99999 +99999.99999 99999.99999 +99999.99999 99999.99999 +DELETE FROM t1 WHERE c3=1 AND c4=7; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11111.00009 -9999.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +DELETE FROM t1 WHERE c3=9999999999 OR c2=1.0e-5; +SELECT * FROM t1 WHERE c1=1.2e+2; +c1 c2 c3 c4 +DELETE FROM t1 WHERE c4 IN (4,5,6); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +100.05000 -100.05000 100119 1 +11111.00009 -9999.99999 9999999 2 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22222.22222 -22222.22222 2222222222 2 +33333.33333 -33333.33333 3333333333 3 +44444.44444 -44444.44444 4444444444 4 +55555.55555 -55555.55555 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +c1 +22222.22222 +33333.33333 +44444.44444 +55555.55555 +DELETE FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +44444.44444 4444444444 4 +55555.55555 5555555555 5 +66666.66666 6666666666 6 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888'; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +DELETE FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +33333.33333 3333333333 3 +DELETE FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +SELECT * FROM t2; +c1 c2 c3 +DELETE FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +SELECT * FROM t2; +c1 c2 c3 +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +DELETE t2,t3 FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t2; +c1 c2 c3 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +55555.55555 5555555555 2 +66666.66666 6666666666 3 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +DROP TABLES IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 FLOAT(10,5) UNSIGNED NOT NULL, c2 FLOAT(10,5) SIGNED NULL, c3 FLOAT, c4 INT, UNIQUE INDEX idx(c1,c4)); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +1.00000 1.00000 1 7 +100.00000 1001.00000 10000 4 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +11111.00000 -10000.00000 10000000 2 +DELETE FROM t1 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +10000.00000 0.00001 +100000.00000 -100000.00000 +100000.00000 100000.00000 +100000.00000 100000.00000 +11111.00000 -10000.00000 +DELETE FROM t1 WHERE c3=1 AND c4=7; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +11111.00000 -10000.00000 10000000 2 +DELETE FROM t1 WHERE c3=9999999999 OR c2=1.0e-5; +SELECT * FROM t1 WHERE c1=1.2e+2; +c1 c2 c3 c4 +DELETE FROM t1 WHERE c4 IN (4,5,6); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +11111.00000 -10000.00000 10000000 2 +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22222.22266 -22222.22266 2222220000 2 +33333.33203 -33333.33203 3333330000 3 +44444.44531 -44444.44531 4444440000 4 +55555.55469 -55555.55469 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +c1 +22222.22266 +33333.33203 +44444.44531 +55555.55469 +DELETE FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +SELECT * FROM t2; +c1 c2 c3 +11111.11133 1111110000 1 +22222.22266 2222220000 2 +33333.33203 3333330000 3 +SELECT * FROM t3; +c1 c2 c3 +44444.44531 4444440000 4 +55555.55469 5555560000 5 +66666.66406 6666670000 6 +SELECT * FROM t4; +c1 c2 c3 +100000.00000 10000000000 9 +77777.78125 7777780000 7 +88888.89062 8888890000 8 +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888'; +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +DELETE FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +SELECT * FROM t2; +c1 c2 c3 +11111.11133 1111110000 1 +22222.22266 2222220000 2 +33333.33203 3333330000 3 +DELETE FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +SELECT * FROM t2; +c1 c2 c3 +DELETE FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +SELECT * FROM t2; +c1 c2 c3 +DROP TABLE t2,t3; +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +DELETE t2,t3 FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT * FROM t2; +c1 c2 c3 +22222.22266 2222220000 2 +33333.33203 3333330000 3 +SELECT * FROM t3; +c1 c2 c3 +55555.55469 5555560000 2 +66666.66406 6666670000 3 +SELECT * FROM t4; +c1 c2 c3 +100000.00000 10000000000 9 +77777.78125 7777780000 7 +88888.89062 8888890000 8 +DROP TABLES IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 DOUBLE(10,5) UNSIGNED NOT NULL, c2 DOUBLE(10,5) SIGNED NULL, c3 DOUBLE, c4 INT, UNIQUE INDEX idx(c1,c4)); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +1.00000 1.00000 1 7 +100.00000 1001.00000 9999.999999 4 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11111.00009 -9999.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +DELETE FROM t1 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +10000.00000 0.00001 +11111.00009 -9999.99999 +99999.99999 -99999.99999 +99999.99999 99999.99999 +99999.99999 99999.99999 +DELETE FROM t1 WHERE c3=1 AND c4=7; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11111.00009 -9999.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +DELETE FROM t1 WHERE c3=9999999999 OR c2=1.0e-5; +SELECT * FROM t1 WHERE c1=1.2e+2; +c1 c2 c3 c4 +DELETE FROM t1 WHERE c4 IN (4,5,6); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +100.05000 -100.05000 100119 1 +11111.00009 -9999.99999 9999999 2 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22222.22222 -22222.22222 2222222222 2 +33333.33333 -33333.33333 3333333333 3 +44444.44444 -44444.44444 4444444444 4 +55555.55555 -55555.55555 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +c1 +22222.22222 +33333.33333 +44444.44444 +55555.55555 +DELETE FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +44444.44444 4444444444 4 +55555.55555 5555555555 5 +66666.66666 6666666666 6 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888'; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +DELETE FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +33333.33333 3333333333 3 +DELETE FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +SELECT * FROM t2; +c1 c2 c3 +DELETE FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +SELECT * FROM t2; +c1 c2 c3 +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +DELETE t2,t3 FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t2; +c1 c2 c3 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +55555.55555 5555555555 2 +66666.66666 6666666666 3 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +DROP TABLES IF EXISTS t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/delete_time.result b/mysql-test/suite/engines/iuds/r/delete_time.result new file mode 100644 index 00000000..00b2262e --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/delete_time.result @@ -0,0 +1,739 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIME NOT NULL, c2 TIME NULL, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIME NOT NULL, c2 TIME NULL); +INSERT INTO t1 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t2 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t3 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t4 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t1 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t2 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t3 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t4 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t1 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t2 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t3 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t4 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +SET TIMESTAMP=1233216687; +INSERT INTO t1 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t2 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t3 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t4 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t1 VALUES('123456',null); +INSERT INTO t3 VALUES('123456',null); +INSERT INTO t4 VALUES('123456',null); +SELECT * FROM t1; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t2; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t3; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t4; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT c1 FROM t1 WHERE c1='00:00:07'; +c1 +00:00:07 +DELETE FROM t1 WHERE c1='00:00:07'; +SELECT c1 FROM t1; +c1 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +12:34:56 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c1 FROM t2 WHERE c1='-838:59:59' AND c2='-838:59:59'; +c1 +-838:59:59 +DELETE FROM t2 WHERE c1='-838:59:59' AND c2='-838:59:59'; +SELECT c1 FROM t2; +c1 +-838:59:55 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c2 FROM t3 WHERE c2=null; +c2 +DELETE FROM t3 WHERE c2=null; +SELECT c2 FROM t3; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +SELECT c1 FROM t4 WHERE c1 < '000009'; +c1 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +DELETE FROM t4 WHERE c1 < '000009' ORDER BY c1 LIMIT 3; +SELECT c1 FROM t4; +c1 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +12:34:56 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +DELETE FROM t1 WHERE c1='00:00:09' AND c1='01:01:01'; +SELECT c2 FROM t1; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +DELETE FROM t2 WHERE c2=000400 OR c2= 000900; +SELECT c1 FROM t2; +c1 +-838:59:55 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +DELETE FROM t2 WHERE c1 IN ('100:04:04',005454,'2:2:2',111111) ORDER BY c1 LIMIT 2; +SELECT c2 FROM t2; +c2 +-838:59:55 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:09:09 +00:13:13 +00:51:51 +01:01:01 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c1='00:13:13' AND t2.c1=080808 AND t4.c1='00:04:00' AND t3.c2=020202; +DELETE FROM t1 WHERE c1='00:09:09' AND c2='00:09:09'; +SELECT * FROM t1; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +DELETE FROM t1 WHERE c1 BETWEEN 080000 AND 100000; +SELECT * FROM t1; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +DELETE FROM t1 WHERE c1 IN (222222,8385959,1500000); +SELECT * FROM t1; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +DELETE t1,t2 FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; +SELECT * FROM t1; +c1 c2 +-838:59:59 -838:59:59 +00:04:00 00:04:00 +00:54:54 00:54:54 +02:02:02 02:02:02 +12:34:56 NULL +SELECT * FROM t2; +c1 c2 +00:00:07 00:00:07 +00:09:09 00:09:09 +00:13:13 00:13:13 +150:00:00 150:00:00 +838:59:59 838:59:59 +SELECT * FROM t3; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t4; +c1 c2 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +DROP TABLE IF EXISTS t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/delete_year.result b/mysql-test/suite/engines/iuds/r/delete_year.result new file mode 100644 index 00000000..c82f0dae --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/delete_year.result @@ -0,0 +1,392 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t3(c1 YEAR(2) NOT NULL,c2 YEAR(2), PRIMARY KEY(c1)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +CREATE TABLE t4(c1 YEAR(2), c2 YEAR(2), UNIQUE INDEX idx(c1,c2)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t4 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t1 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t2 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t3 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t4 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t1 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t2 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t3 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t4 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t1 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t2 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t3 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t4 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t1 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t2 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t3 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t4 VALUES ('09',null),('61',null),('79',null),('96',null); +SELECT * FROM t1; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1979 NULL +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 2001 +2004 2004 +2005 2005 +2009 NULL +2061 NULL +2064 2064 +2065 2065 +2069 2069 +2154 2154 +2155 2155 +SELECT * FROM t2; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1979 NULL +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 2001 +2004 2004 +2005 2005 +2009 NULL +2061 NULL +2064 2064 +2065 2065 +2069 2069 +2154 2154 +2155 2155 +SELECT * FROM t3; +c1 c2 +00 00 +01 01 +01 01 +02 02 +04 04 +05 05 +09 NULL +54 54 +55 55 +61 NULL +64 64 +65 65 +69 69 +70 70 +71 71 +75 75 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +SELECT * FROM t4; +c1 c2 +00 00 +01 01 +01 01 +02 02 +04 04 +05 05 +09 NULL +54 54 +55 55 +61 NULL +64 64 +65 65 +69 69 +70 70 +71 71 +75 75 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +SELECT c1 FROM t1 WHERE c1='2005'; +c1 +2005 +DELETE FROM t1 WHERE c1='2005'; +SELECT c1 FROM t1; +c1 +1901 +1902 +1970 +1971 +1975 +1979 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2004 +2009 +2061 +2064 +2065 +2069 +2154 +2155 +SELECT c2 FROM t2 WHERE c2=null; +c2 +DELETE FROM t2 WHERE c2=null LIMIT 2; +SELECT c2 FROM t2; +c2 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2064 +2065 +2069 +2154 +2155 +NULL +NULL +NULL +NULL +SELECT c1 FROM t4 WHERE c1 < '55'; +c1 +00 +01 +01 +02 +04 +05 +09 +DELETE FROM t4 WHERE c1 < '65' ORDER BY c1 LIMIT 5; +SELECT c1 FROM t4; +c1 +05 +09 +54 +55 +61 +64 +65 +69 +70 +71 +75 +79 +95 +96 +97 +98 +99 +DELETE FROM t2 WHERE c1=2009 AND c2=null; +SELECT c2 FROM t2; +c2 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2064 +2065 +2069 +2154 +2155 +NULL +NULL +NULL +NULL +DELETE FROM t1 WHERE c1=1979 OR c1=2154; +SELECT c2 FROM t1; +c2 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2064 +2065 +2069 +2155 +NULL +NULL +NULL +DELETE FROM t4 WHERE c2 IN (01,54,65,69,null) LIMIT 2; +SELECT c1 FROM t4; +c1 +05 +09 +55 +61 +64 +65 +70 +71 +75 +79 +95 +96 +97 +98 +99 +DELETE t3,t4 FROM t3,t4 WHERE t3.c1=61 AND t4.c2=4; +DELETE FROM t1 WHERE c1=2064 AND c2=2064; +SELECT * FROM t1; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 2001 +2004 2004 +2009 NULL +2061 NULL +2065 2065 +2069 2069 +2155 2155 +DELETE FROM t1 WHERE c1 BETWEEN 2000 AND 2010 LIMIT 2; +SELECT * FROM t1; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2004 2004 +2009 NULL +2061 NULL +2065 2065 +2069 2069 +2155 2155 +DELETE FROM t1 WHERE c1 IN (2155,2009,1975) LIMIT 2; +SELECT * FROM t1; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2004 2004 +2061 NULL +2065 2065 +2069 2069 +2155 2155 +DELETE t1,t2 FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; +SELECT * FROM t1; +c1 c2 +1996 NULL +2061 NULL +SELECT * FROM t2; +c1 c2 +1975 1975 +1979 NULL +1996 NULL +2000 2000 +2001 2001 +2005 2005 +2009 NULL +2061 NULL +2064 2064 +2154 2154 +SELECT * FROM t3; +c1 c2 +00 00 +01 01 +01 01 +02 02 +04 04 +05 05 +09 NULL +54 54 +55 55 +61 NULL +64 64 +65 65 +69 69 +70 70 +71 71 +75 75 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +SELECT * FROM t4; +c1 c2 +05 05 +09 NULL +55 55 +61 NULL +64 64 +65 65 +70 70 +71 71 +75 75 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +DROP TABLE IF EXISTS t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/insert_calendar.result b/mysql-test/suite/engines/iuds/r/insert_calendar.result new file mode 100644 index 00000000..a4855e1c --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/insert_calendar.result @@ -0,0 +1,28444 @@ +DROP TABLE IF EXISTS t1,t2,t3; +CREATE TABLE t1(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP); +INSERT INTO t1 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +INSERT INTO t2 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +INSERT INTO t3 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +INSERT INTO t4 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +INSERT INTO t1 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t2 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t3 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t4 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t1 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t2 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t3 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t4 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +SET TIMESTAMP=1233216687; +INSERT INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +INSERT INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +INSERT INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +INSERT INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +INSERT INTO t2 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c2' at row 2 +INSERT INTO t3 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c2' at row 2 +INSERT INTO t1 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t1(c1,c2) VALUES('08/01/17',NULL); +DELETE FROM t1 WHERE c1='08/01/17' AND c2 IS NULL; +INSERT INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t2 VALUES('2008-04-31','2008-04-31','08-01-06','08/01/07') /* Inserts zero dates for invalid dates */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t3 VALUES('10:45:15','10:45:15','08-01-08','08/1/9') /* Inserts zero dates for invalid dates */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t2 VALUES('0000-00-00','08-01-06','08-01-06','08/01/07'); +INSERT INTO t3 VALUES('08-01-06','00-00-00','08-01-08','08/1/9'); +INSERT INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t4; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-10 00:00:00 2008-01-11 00:00:00 +0000-00-00 0000-00-00 2008-01-12 00:00:00 2008-01-13 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +11 0000-00-00 2009-01-29 +SELECT * FROM t1 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +SELECT c1 FROM t1; +c1 +0000-00-00 +1983-09-05 +1983-09-07 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +2007-05-23 +2007-05-25 +2008-01-01 +2009-01-29 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2009-01-29 +2008-01-01 +2007-05-25 +2007-05-23 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-07 +1983-09-05 +0000-00-00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +11 0000-00-00 2009-01-29 +SELECT * FROM t1 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 +1983-09-05 +1983-09-07 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +2007-05-23 +2007-05-25 +2008-01-01 +2009-01-29 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2009-01-29 +2008-01-01 +2007-05-25 +2007-05-23 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-07 +1983-09-05 +0000-00-00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +11 0000-00-00 2009-01-29 +SELECT * FROM t1 WHERE c4 = '2007-05-26 00:00:00'; +c1 c2 c3 c4 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 +1983-09-05 +1983-09-07 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +2007-05-23 +2007-05-25 +2009-01-29 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +2009-01-29 +2007-05-25 +2007-05-23 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-07 +1983-09-05 +0000-00-00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +13 0000-00-00 2009-01-29 +SELECT * FROM t2 WHERE c3 = '2008-01-06'; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +13 0000-00-00 2009-01-29 +SELECT * FROM t2 WHERE c3 = '1998-12-29'; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +13 0000-00-00 2009-01-29 +SELECT * FROM t2 WHERE c4 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +14 0000-00-00 2009-01-29 +SELECT * FROM t3 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +14 0000-00-00 2009-01-29 +SELECT * FROM t3 WHERE c3 = '1998-12-29'; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 0000-00-00 2009-01-29 +SELECT * FROM t3 WHERE c4 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1983-09-05 1983-09-05 +1983-09-07 1983-09-07 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +INSERT INTO t1(c1,c2) VALUES('20070525','070523091528') /* Row with c1='20070525' exists */; +ERROR 23000: Duplicate entry '2007-05-25' for key 'PRIMARY' +INSERT INTO t2(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07-1983-09-07' for key 'PRIMARY' +INSERT INTO t1(c1,c2) VALUES(19840905,830907) /* Row with c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07' for key 'c2' +INSERT INTO t3(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07-1983-09-07' for key 'idx' +INSERT IGNORE INTO t1(c1,c2) VALUES('20070525','20070527') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +INSERT IGNORE INTO t1(c1,c2) VALUES(19840905,830907) /* doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +SELECT * FROM t1 WHERE c1='20070525' /* Returns 1 row with c1=2007-05-25 */; +c1 c2 c3 c4 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c2=830907 /* Returns 1 row with c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1='20070527' /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1) VALUES('20070525') ON DUPLICATE KEY UPDATE c1='20070527'; +SELECT * FROM t1 WHERE c1='20070527' /* Returns 1 row with c1=2007-05-27 */; +c1 c2 c3 c4 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t2(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns 1 row with c1=19830909,c2=830910 */; +c1 c2 c3 c4 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1,c2) VALUES(19840905,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; +c1 c2 c3 c4 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t3(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; +c1 c2 c3 c4 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +INSERT INTO t1 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t2 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t3 SET c1='1999-01-01'; +INSERT INTO t4 SET c2='1999-01-01'; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +SELECT * FROM t1 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +SELECT * FROM t4 WHERE c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +0000-00-00 1999-01-01 NULL 2009-01-29 11:11:27 +CREATE TABLE t5(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1 WHERE c1 >=0 AND c1 < '20070523091528'; +SELECT * FROM t5; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >='98-12-31 11:30:45' AND c1 < '20070523091528' AND c2 <> '070525'; +SELECT * FROM t5; +c1 c2 c3 c4 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN 0 AND '1998-12-30 11:30:45'; +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +Warning 1292 Truncated incorrect INTEGER value: '1998-12-30 11:30:45' +SELECT * FROM t5; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +TRUNCATE TABLE t5; +DROP TABLE t5; +INSERT INTO t1 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t2 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t3 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t4 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t1(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t2(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t3(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t4(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t4(c1) VALUES('2009-02-30'),('2009-04-31'),('2009-06-31'),('2009-09-31'),('2009-11-31'),('2009-13-01'),('2009-12-32'); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c1' at row 2 +Warning 1265 Data truncated for column 'c1' at row 3 +Warning 1265 Data truncated for column 'c1' at row 4 +Warning 1265 Data truncated for column 'c1' at row 5 +Warning 1265 Data truncated for column 'c1' at row 6 +Warning 1265 Data truncated for column 'c1' at row 7 +INSERT INTO t1(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,'2008-01-14','08-01-15','08/01/16'); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4 VALUES(NULL,'2008-01-14','08-01-15','08/01/16'); +ERROR 23000: Column 'c1' cannot be null +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t4 SET c2='1999-01-01' /* NOT NULL column will not get the default value */; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t4; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-10 00:00:00 2008-01-11 00:00:00 +0000-00-00 0000-00-00 2008-01-12 00:00:00 2008-01-13 00:00:00 +0000-00-00 1999-01-01 NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 NULL NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-07 1983-09-07 1983-09-08 00:00:00 1983-09-08 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +19 0000-00-00 9999-12-31 +SELECT * FROM t1 WHERE c3 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT c1 FROM t1; +c1 +0000-00-00 +1000-01-01 +1983-09-05 +1983-09-09 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2007-05-23 +2007-05-27 +2008-01-01 +2009-01-29 +2010-00-01 +3000-01-01 +5000-01-01 +7000-01-01 +9000-01-01 +9999-12-31 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +9999-12-31 +9000-01-01 +7000-01-01 +5000-01-01 +3000-01-01 +2010-00-01 +2009-01-29 +2008-01-01 +2007-05-27 +2007-05-23 +1999-01-01 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-09 +1983-09-05 +1000-01-01 +0000-00-00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +19 0000-00-00 9999-12-31 +SELECT * FROM t1 WHERE c3 = '2007-05-26 00:00:00'; +c1 c2 c3 c4 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +SELECT c1 FROM t1; +c1 +0000-00-00 +1000-01-01 +1983-09-05 +1983-09-09 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2007-05-23 +2007-05-27 +2008-01-01 +2009-01-29 +2010-00-01 +3000-01-01 +5000-01-01 +7000-01-01 +9000-01-01 +9999-12-31 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +9999-12-31 +9000-01-01 +7000-01-01 +5000-01-01 +3000-01-01 +2010-00-01 +2009-01-29 +2008-01-01 +2007-05-27 +2007-05-23 +1999-01-01 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-09 +1983-09-05 +1000-01-01 +0000-00-00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +19 0000-00-00 9999-12-31 +SELECT * FROM t1 WHERE c3 = '1998-12-28 00:00:00'; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 +1000-01-01 +1983-09-05 +1983-09-09 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2007-05-23 +2007-05-27 +2008-01-01 +2009-01-29 +2010-00-01 +3000-01-01 +5000-01-01 +7000-01-01 +9000-01-01 +9999-12-31 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +9999-12-31 +9000-01-01 +7000-01-01 +5000-01-01 +3000-01-01 +2010-00-01 +2009-01-29 +2008-01-01 +2007-05-27 +2007-05-23 +1999-01-01 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-09 +1983-09-05 +1000-01-01 +0000-00-00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +19 0000-00-00 9999-12-31 +SELECT * FROM t1 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 +1983-09-05 +1983-09-10 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2000-01-01 +2007-05-23 +2007-05-25 +2009-01-29 +2010-10-00 +4000-01-01 +6000-01-01 +8000-01-01 +9000-01-01 +9999-12-31 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +9999-12-31 +9000-01-01 +8000-01-01 +6000-01-01 +4000-01-01 +2010-10-00 +2009-01-29 +2007-05-25 +2007-05-23 +2000-01-01 +1999-01-01 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-10 +1983-09-05 +0000-00-00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +19 0000-00-00 9999-12-31 +SELECT * FROM t1 WHERE c4 = '2008-01-05'; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 +1983-09-05 +1983-09-10 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2000-01-01 +2007-05-23 +2007-05-25 +2009-01-29 +2010-10-00 +4000-01-01 +6000-01-01 +8000-01-01 +9000-01-01 +9999-12-31 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +9999-12-31 +9000-01-01 +8000-01-01 +6000-01-01 +4000-01-01 +2010-10-00 +2009-01-29 +2007-05-25 +2007-05-23 +2000-01-01 +1999-01-01 +1998-12-31 +1998-12-30 +1998-12-29 +1998-12-28 +1983-09-10 +1983-09-05 +0000-00-00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2007-05-27 2007-05-25 2007-05-26 00:00:00 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +0000-00-00 0000-00-00 2008-01-04 00:00:00 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1='1000-00-01' OR c2='9999-12-31'; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT c2 FROM t1 GROUP BY c2; +c2 +0000-00-00 +1983-09-05 +1983-09-10 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2000-01-01 +2007-05-23 +2007-05-25 +2009-01-29 +2010-10-00 +4000-01-01 +6000-01-01 +8000-01-01 +9000-01-01 +9999-12-31 +NULL +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0000-00-00 9999-12-31 +SELECT * FROM t2 WHERE c3 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0000-00-00 9999-12-31 +SELECT * FROM t2 WHERE c3 = '2007-05-26 00:00:00'; +c1 c2 c3 c4 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0000-00-00 9999-12-31 +SELECT * FROM t2 WHERE c3 = '1998-12-28 00:00:00'; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +21 0000-00-00 9999-12-31 +SELECT * FROM t2 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +21 0000-00-00 9999-12-31 +SELECT * FROM t2 WHERE c4 = '2008-01-07'; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 0000-00-00 +0000-00-00 2008-01-06 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 2008-01-06 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 1999-01-01 +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 1999-01-01 NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 2008-01-06 2008-01-06 00:00:00 2008-01-07 00:00:00 +0000-00-00 0000-00-00 2008-01-06 00:00:00 2008-01-07 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +22 0000-00-00 9999-12-31 +SELECT * FROM t3 WHERE c3 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +22 0000-00-00 9999-12-31 +SELECT * FROM t3 WHERE c3 = '2007-05-26 00:00:00'; +c1 c2 c3 c4 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +22 0000-00-00 9999-12-31 +SELECT * FROM t3 WHERE c3 = '1998-12-28 00:00:00'; +c1 c2 c3 c4 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 0000-00-00 9999-12-31 +SELECT * FROM t3 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 0000-00-00 9999-12-31 +SELECT * FROM t3 WHERE c4 = '2008-01-09'; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-29 1998-12-30 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1998-12-31 1998-12-31 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-30 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-31 +1998-12-31 1998-12-30 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999-01-01 NULL NULL 2009-01-29 11:11:27 +2008-01-01 NULL 2008-01-02 00:00:00 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +1983-09-05 1983-09-05 1983-09-06 13:28:00 1983-09-06 13:28:00 +1983-09-09 1983-09-10 1983-09-08 00:00:00 2009-01-29 11:11:27 +1998-12-28 1998-12-28 1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-29 1998-12-29 1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 1998-12-30 1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 1998-12-31 1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 1998-12-30 1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 2007-05-23 2007-05-24 09:15:28 2007-05-24 09:15:28 +2007-05-25 2007-05-25 2007-05-26 00:00:00 2007-05-26 00:00:00 +2008-01-06 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +2009-01-29 2009-01-29 2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 2010-10-00 NULL 2009-01-29 11:11:27 +3000-01-01 4000-01-01 2009-01-03 00:00:00 2009-01-04 00:00:00 +5000-01-01 6000-01-01 2009-01-05 00:00:00 2009-01-06 00:00:00 +7000-01-01 8000-01-01 2009-01-07 00:00:00 2009-01-08 00:00:00 +9000-01-01 9000-01-01 2009-01-09 00:00:00 2009-01-10 00:00:00 +9999-12-31 9999-12-31 2009-01-11 00:00:00 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 0000-00-00 2008-01-08 00:00:00 2008-01-09 00:00:00 +1000-01-01 2000-01-01 2009-01-01 00:00:00 2009-01-02 00:00:00 +SELECT c1 FROM t3 GROUP BY c1; +c1 +0000-00-00 +1000-01-01 +1983-09-05 +1983-09-09 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2007-05-23 +2007-05-25 +2008-01-01 +2008-01-06 +2009-01-29 +2010-00-01 +3000-01-01 +5000-01-01 +7000-01-01 +9000-01-01 +9999-12-31 +SELECT DISTINCT c1 FROM t3; +c1 +0000-00-00 +1000-01-01 +1983-09-05 +1983-09-09 +1998-12-28 +1998-12-29 +1998-12-30 +1998-12-31 +1999-01-01 +2007-05-23 +2007-05-25 +2008-01-01 +2008-01-06 +2009-01-29 +2010-00-01 +3000-01-01 +5000-01-01 +7000-01-01 +9000-01-01 +9999-12-31 +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +c1 MIN(c2) +0000-00-00 0000-00-00 +1000-01-01 2000-01-01 +1983-09-05 1983-09-05 +1983-09-09 1983-09-10 +1998-12-28 1998-12-28 +1998-12-29 1998-12-29 +1998-12-30 1998-12-30 +1998-12-31 1998-12-30 +1999-01-01 NULL +2007-05-23 2007-05-23 +2007-05-25 2007-05-25 +2008-01-01 NULL +2008-01-06 0000-00-00 +2009-01-29 2009-01-29 +2010-00-01 2010-10-00 +3000-01-01 4000-01-01 +5000-01-01 6000-01-01 +7000-01-01 8000-01-01 +9000-01-01 9000-01-01 +9999-12-31 9999-12-31 +DROP TABLE t1,t2,t3,t4; +CREATE TABLE t1(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP); +INSERT INTO t1 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t2 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t3 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t4 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t1 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t3 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t4 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t3 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t4 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +SET TIMESTAMP=1233216687; +INSERT INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t3 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t1 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t1(c1,c2) VALUES('08/01/17',NULL); +DELETE FROM t1 WHERE c1='08/01/17' AND c2 IS NULL; +INSERT INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t2 VALUES('2008-04-31','2008-04-31','08-01-06','08/01/07') /* Inserts zero dates for invalid dates */; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t3 VALUES('10:45:15','10:45:15','08-01-08','08/1/9') /* Inserts zero dates for invalid dates */; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t2 VALUES('0000-00-00','08-01-06','08-01-06','08/01/07'); +INSERT INTO t3 VALUES('08-01-06','00-00-00','08-01-08','08/1/9'); +INSERT INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t4; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-10 2008-01-11 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-12 2008-01-13 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +11 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-07 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-07 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +11 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-07 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-07 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +11 0000-00-00 00:00:00 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c4 = '2007-05-26 00:00:00'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-07 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 00:00:00 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +2009-01-29 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-07 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +13 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c3 = '2008-01-06'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +13 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c3 = '1998-12-29'; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +13 0000-00-00 00:00:00 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c4 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +14 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +14 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c3 = '1998-12-29'; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 0000-00-00 00:00:00 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c4 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +INSERT INTO t1(c1,c2) VALUES('20070525','070523091528') /* Row with c1='20070525' exists */; +ERROR 23000: Duplicate entry '2007-05-25 00:00:00' for key 'PRIMARY' +INSERT INTO t2(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07 00:00:00-1983-09-07 00:00:00' for key 'PRIMARY' +INSERT INTO t1(c1,c2) VALUES(19840905,830907) /* Row with c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07 00:00:00' for key 'c2' +INSERT INTO t3(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07 00:00:00-1983-09-07 00:00:00' for key 'idx' +INSERT IGNORE INTO t1(c1,c2) VALUES('20070525','20070527') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +INSERT IGNORE INTO t1(c1,c2) VALUES(19840905,830907) /* doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +SELECT * FROM t1 WHERE c1='20070525' /* Returns 1 row with c1=2007-05-25 */; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c2=830907 /* Returns 1 row with c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1='20070527' /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1) VALUES('20070525') ON DUPLICATE KEY UPDATE c1='20070527'; +SELECT * FROM t1 WHERE c1='20070527' /* Returns 1 row with c1=2007-05-27 */; +c1 c2 c3 c4 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t2(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns 1 row with c1=19830909,c2=830910 */; +c1 c2 c3 c4 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1,c2) VALUES(19840905,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; +c1 c2 c3 c4 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t3(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; +c1 c2 c3 c4 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +INSERT INTO t1 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t2 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t3 SET c1='1999-01-01'; +INSERT INTO t4 SET c2='1999-01-01'; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +SELECT * FROM t1 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +SELECT * FROM t4 WHERE c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +0000-00-00 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +CREATE TABLE t5(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1 WHERE c1 >=0 AND c1 < '20070523091528'; +SELECT * FROM t5; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >='98-12-31 11:30:45' AND c1 < '20070523091528' AND c2 <> '070525'; +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN 0 AND '1998-12-30 11:30:45'; +SELECT * FROM t5; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +TRUNCATE TABLE t5; +DROP TABLE t5; +INSERT INTO t1 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t2 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t3 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t4 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t1(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t2(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t3(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t4(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t4(c1) VALUES('2009-02-30'),('2009-04-31'),('2009-06-31'),('2009-09-31'),('2009-11-31'),('2009-13-01'),('2009-12-32'),('2009-01-01 23:60:60'),('2009-01-01 24:59:59'),('2009-01-01 23:59:60'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +INSERT INTO t1(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); +ERROR 23000: Column 'c1' cannot be null +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t4 SET c2='1999-01-01' /* NOT NULL column will not get the default value */; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t4; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-10 2008-01-11 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-12 2008-01-13 00:00:00 +0000-00-00 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 NULL NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +19 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t1 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1000-01-01 00:00:00 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-27 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +2010-00-01 00:00:00 +3000-01-01 00:00:00 +5000-01-01 00:00:00 +7000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +9999-12-31 23:59:59 +9000-01-01 00:00:00 +7000-01-01 00:00:00 +5000-01-01 00:00:00 +3000-01-01 00:00:00 +2010-00-01 00:00:00 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-27 00:00:00 +2007-05-23 09:15:28 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-09 00:00:00 +1983-09-05 13:28:00 +1000-01-01 00:00:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +19 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t1 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1000-01-01 00:00:00 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-27 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +2010-00-01 00:00:00 +3000-01-01 00:00:00 +5000-01-01 00:00:00 +7000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +9999-12-31 23:59:59 +9000-01-01 00:00:00 +7000-01-01 00:00:00 +5000-01-01 00:00:00 +3000-01-01 00:00:00 +2010-00-01 00:00:00 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-27 00:00:00 +2007-05-23 09:15:28 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-09 00:00:00 +1983-09-05 13:28:00 +1000-01-01 00:00:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +19 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t1 WHERE c3 = '1998-12-28'; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1000-01-01 00:00:00 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-27 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +2010-00-01 00:00:00 +3000-01-01 00:00:00 +5000-01-01 00:00:00 +7000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +9999-12-31 23:59:59 +9000-01-01 00:00:00 +7000-01-01 00:00:00 +5000-01-01 00:00:00 +3000-01-01 00:00:00 +2010-00-01 00:00:00 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-27 00:00:00 +2007-05-23 09:15:28 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-09 00:00:00 +1983-09-05 13:28:00 +1000-01-01 00:00:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +19 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t1 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-10 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2000-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 00:00:00 +2010-10-00 00:00:00 +4000-01-01 00:00:00 +6000-01-01 00:00:00 +8000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +9999-12-31 23:59:59 +9000-01-01 00:00:00 +8000-01-01 00:00:00 +6000-01-01 00:00:00 +4000-01-01 00:00:00 +2010-10-00 00:00:00 +2009-01-29 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +2000-01-01 00:00:00 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-10 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +19 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t1 WHERE c4 = '2008-01-05'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-10 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2000-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 00:00:00 +2010-10-00 00:00:00 +4000-01-01 00:00:00 +6000-01-01 00:00:00 +8000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +9999-12-31 23:59:59 +9000-01-01 00:00:00 +8000-01-01 00:00:00 +6000-01-01 00:00:00 +4000-01-01 00:00:00 +2010-10-00 00:00:00 +2009-01-29 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +2000-01-01 00:00:00 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-10 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t1 WHERE c1='1000-00-01 00:00:00' OR c2='9999-12-31 23:59:59'; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT c2 FROM t1 GROUP BY c2; +c2 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-10 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2000-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 00:00:00 +2010-10-00 00:00:00 +4000-01-01 00:00:00 +6000-01-01 00:00:00 +8000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +NULL +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t2 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t2 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t2 WHERE c3 = '1998-12-28'; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +21 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t2 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +21 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t2 WHERE c4 = '2008-01-07'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +22 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t3 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +22 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t3 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +22 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t3 WHERE c3 = '1998-12-28'; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t3 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 0000-00-00 00:00:00 9999-12-31 23:59:59 +SELECT * FROM t3 WHERE c4 = '2008-01-09'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 2009-01-29 11:11:27 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 NULL 2009-01-29 11:11:27 +3000-01-01 00:00:00 4000-01-01 00:00:00 2009-01-03 2009-01-04 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 2009-01-05 2009-01-06 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 2009-01-07 2009-01-08 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 2009-01-09 2009-01-10 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 2009-01-11 2009-01-12 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 2009-01-01 2009-01-02 00:00:00 +SELECT c1 FROM t3 GROUP BY c1; +c1 +0000-00-00 00:00:00 +1000-01-01 00:00:00 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2008-01-06 00:00:00 +2009-01-29 11:11:27 +2010-00-01 00:00:00 +3000-01-01 00:00:00 +5000-01-01 00:00:00 +7000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +SELECT DISTINCT c1 FROM t3; +c1 +0000-00-00 00:00:00 +1000-01-01 00:00:00 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2008-01-06 00:00:00 +2009-01-29 11:11:27 +2010-00-01 00:00:00 +3000-01-01 00:00:00 +5000-01-01 00:00:00 +7000-01-01 00:00:00 +9000-01-01 00:00:00 +9999-12-31 23:59:59 +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +c1 MIN(c2) +0000-00-00 00:00:00 0000-00-00 00:00:00 +1000-01-01 00:00:00 2000-01-01 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2010-00-01 00:00:00 2010-10-00 00:00:00 +3000-01-01 00:00:00 4000-01-01 00:00:00 +5000-01-01 00:00:00 6000-01-01 00:00:00 +7000-01-01 00:00:00 8000-01-01 00:00:00 +9000-01-01 00:00:00 9000-01-01 00:00:00 +9999-12-31 23:59:59 9999-12-31 23:59:59 +DROP TABLE t1,t2,t3,t4; +CREATE TABLE t1(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME); +INSERT INTO t1 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t2 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t3 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t4 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t1 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t3 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t4 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t3 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t4 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +SET TIMESTAMP=1233216687; +INSERT INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t3 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT INTO t1 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t1(c1,c2) VALUES('08/01/17',NULL); +DELETE FROM t1 WHERE c1='08/01/17' AND c2 IS NULL; +INSERT INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t2 VALUES('2008-04-31','2008-04-31','08-01-06','08/01/07') /* Inserts zero dates for invalid dates */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t3 VALUES('10:45:15','10:45:15','08-01-08','08/1/9') /* Inserts zero dates for invalid dates */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t2 VALUES('0000-00-00','08-01-06','08-01-06','08/01/07'); +INSERT INTO t3 VALUES('08-01-06','00-00-00','08-01-08','08/1/9'); +INSERT INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Warning 1265 Data truncated for column 'c1' at row 2 +Warning 1265 Data truncated for column 'c2' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t4; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-10 2008-01-11 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-12 2008-01-13 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +11 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-07 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-07 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +11 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-07 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-07 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +11 0000-00-00 00:00:00 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c4 = '2007-05-26 00:00:00'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 00:00:00 +1983-09-05 13:28:00 +1983-09-07 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 00:00:00 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +2009-01-29 00:00:00 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-07 00:00:00 +1983-09-05 13:28:00 +0000-00-00 00:00:00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +13 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c3 = '2008-01-06'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +13 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t2 WHERE c3 = '1998-12-29'; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +13 0000-00-00 00:00:00 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c4 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +14 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +14 0000-00-00 00:00:00 2009-01-29 11:11:27 +SELECT * FROM t3 WHERE c3 = '1998-12-29'; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 0000-00-00 00:00:00 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c4 = '2007-05-24 09:15:28'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +INSERT INTO t1(c1,c2) VALUES('20070525','070523091528') /* Row with c1='20070525' exists */; +ERROR 23000: Duplicate entry '2007-05-25 00:00:00' for key 'PRIMARY' +INSERT INTO t2(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07 00:00:00-1983-09-07 00:00:00' for key 'PRIMARY' +INSERT INTO t1(c1,c2) VALUES(19840905,830907) /* Row with c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07 00:00:00' for key 'c2' +INSERT INTO t3(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; +ERROR 23000: Duplicate entry '1983-09-07 00:00:00-1983-09-07 00:00:00' for key 'idx' +INSERT IGNORE INTO t1(c1,c2) VALUES('20070525','20070527') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +INSERT IGNORE INTO t1(c1,c2) VALUES(19840905,830907) /* doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +SELECT * FROM t1 WHERE c1='20070525' /* Returns 1 row with c1=2007-05-25 */; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c2=830907 /* Returns 1 row with c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +c1 c2 c3 c4 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1='20070527' /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1) VALUES('20070525') ON DUPLICATE KEY UPDATE c1='20070527'; +SELECT * FROM t1 WHERE c1='20070527' /* Returns 1 row with c1=2007-05-27 */; +c1 c2 c3 c4 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t2(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns 1 row with c1=19830909,c2=830910 */; +c1 c2 c3 c4 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1,c2) VALUES(19840905,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; +c1 c2 c3 c4 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t3(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; +c1 c2 c3 c4 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +INSERT INTO t1 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t2 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t3 SET c1='1999-01-01'; +INSERT INTO t4 SET c2='1999-01-01'; +SELECT * FROM t1 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +SELECT * FROM t2 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +SELECT * FROM t3 WHERE c1='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +SELECT * FROM t4 WHERE c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 c4 +2009-01-29 11:11:27 1999-01-01 00:00:00 NULL NULL +CREATE TABLE t5(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1 WHERE c1 >=0 AND c1 < '20070523091528'; +SELECT * FROM t5; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >='98-12-31 11:30:45' AND c1 < '20070523091528' AND c2 <> '070525'; +SELECT * FROM t5; +c1 c2 c3 c4 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN 0 AND '1998-12-30 11:30:45'; +SELECT * FROM t5; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +TRUNCATE TABLE t5; +DROP TABLE t5; +INSERT INTO t1 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t2 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t3 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t4 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t4(c1,c2) VALUES('2010-00-01','2010-10-00'); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +INSERT INTO t4(c1) VALUES('2009-02-30'),('2009-04-31'),('2009-06-31'),('2009-09-31'),('2009-11-31'),('2009-13-01'),('2009-12-32'),('2009-01-01 23:60:60'),('2009-01-01 24:59:59'),('2009-01-01 23:59:60'); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c1' at row 2 +Warning 1265 Data truncated for column 'c1' at row 3 +Warning 1265 Data truncated for column 'c1' at row 4 +Warning 1265 Data truncated for column 'c1' at row 5 +Warning 1265 Data truncated for column 'c1' at row 6 +Warning 1265 Data truncated for column 'c1' at row 7 +Warning 1265 Data truncated for column 'c1' at row 8 +Warning 1265 Data truncated for column 'c1' at row 9 +Warning 1265 Data truncated for column 'c1' at row 10 +DELETE FROM t1 WHERE c1=NOW() /* because the row with current timestamp exists */; +INSERT INTO t1 VALUES(NULL,NOW(),NOW(),NOW()); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +SELECT * FROM t1 WHERE c1 IS NULL /* returns no rows */; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1=NOW() /* returns 1 row */; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +INSERT INTO t2(c1) VALUES(NULL); +INSERT INTO t3 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); +INSERT INTO t4 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t4 SET c2='1999-01-01' /* NOT NULL column will get the default value as current timestamp */; +SET SQL_MODE=''; +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t4; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-10 2008-01-11 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-12 2008-01-13 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +0000-00-00 00:00:00 NULL NULL NULL +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-07 00:00:00 1983-09-07 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 1999-01-01 00:00:00 NULL NULL +2009-01-29 11:11:27 1999-01-01 00:00:00 NULL NULL +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +15 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t1 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1971-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1990-01-01 00:00:01 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-27 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2038-01-09 03:14:07 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-27 00:00:00 +2007-05-23 09:15:28 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1990-01-01 00:00:01 +1983-09-09 00:00:00 +1983-09-05 13:28:00 +1971-01-01 00:00:01 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +15 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t1 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1971-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1990-01-01 00:00:01 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-27 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2038-01-09 03:14:07 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-27 00:00:00 +2007-05-23 09:15:28 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1990-01-01 00:00:01 +1983-09-09 00:00:00 +1983-09-05 13:28:00 +1971-01-01 00:00:01 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +15 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t1 WHERE c3 = '1998-12-28'; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +1971-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1990-01-01 00:00:01 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-27 00:00:00 +2008-01-01 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2038-01-09 03:14:07 +2009-01-29 11:11:27 +2008-01-01 00:00:00 +2007-05-27 00:00:00 +2007-05-23 09:15:28 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1990-01-01 00:00:01 +1983-09-09 00:00:00 +1983-09-05 13:28:00 +1971-01-01 00:00:01 +0000-00-00 00:00:00 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +15 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t1 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +SELECT c2 FROM t1; +c2 +0000-00-00 00:00:00 +1980-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-10 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2000-01-01 00:00:01 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +2038-01-09 03:14:07 +2009-01-29 11:11:27 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +2000-01-01 00:00:01 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-10 00:00:00 +1983-09-05 13:28:00 +1980-01-01 00:00:01 +0000-00-00 00:00:00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +15 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t1 WHERE c4 = '2008-01-05'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT c2 FROM t1; +c2 +0000-00-00 00:00:00 +1980-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-10 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2000-01-01 00:00:01 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +2038-01-09 03:14:07 +2009-01-29 11:11:27 +2007-05-25 00:00:00 +2007-05-23 09:15:28 +2000-01-01 00:00:01 +1999-01-01 00:00:00 +1998-12-31 11:30:45 +1998-12-30 11:30:45 +1998-12-29 00:00:00 +1998-12-28 00:00:00 +1983-09-10 00:00:00 +1983-09-05 13:28:00 +1980-01-01 00:00:01 +0000-00-00 00:00:00 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +2007-05-27 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +2009-01-29 11:11:27 2009-01-29 11:11:27 2009-01-29 2009-01-29 11:11:27 +SELECT * FROM t1 WHERE c1='1971-01-01 00:00:01' OR c2='2038-01-09 03:14:07'; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT c2 FROM t1 GROUP BY c2; +c2 +0000-00-00 00:00:00 +1980-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-10 00:00:00 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2000-01-01 00:00:01 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +NULL +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +18 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t2 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +18 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t2 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +18 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t2 WHERE c3 = '1998-12-28'; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +18 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t2 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +18 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t2 WHERE c4 = '2008-01-07'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT c1,c2 FROM t2; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 2008-01-06 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 1999-01-01 00:00:00 NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 0000-00-00 00:00:00 NULL NULL +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 2008-01-06 00:00:00 2008-01-06 2008-01-07 00:00:00 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +19 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t3 WHERE c3 = '2007-05-24'; +c1 c2 c3 c4 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +19 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t3 WHERE c3 = '2007-05-26'; +c1 c2 c3 c4 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +19 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t3 WHERE c3 = '1998-12-28'; +c1 c2 c3 c4 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +19 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t3 WHERE c4 = '2009-01-29'; +c1 c2 c3 c4 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL NULL NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +19 0000-00-00 00:00:00 2038-01-09 03:14:07 +SELECT * FROM t3 WHERE c4 = '2008-01-09'; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +SELECT c1,c2 FROM t3; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +Warnings: +Warning 1292 Incorrect datetime value: '2010-10-00 00:00:00' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2010-00-01 00:00:00' for column 'c1' at row 1 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999-01-01 00:00:00 NULL NULL NULL +2008-01-01 00:00:00 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +1983-09-05 13:28:00 1983-09-05 13:28:00 1983-09-06 1983-09-06 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 1983-09-08 1983-09-08 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 2009-01-03 2009-01-04 00:00:00 +1998-12-28 00:00:00 1998-12-28 00:00:00 1998-12-28 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-29 00:00:00 1998-12-29 00:00:00 1998-12-29 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 1998-12-30 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-31 11:30:45 1998-12-31 1998-12-31 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 1998-12-31 1998-12-31 11:30:45 +2007-05-23 09:15:28 2007-05-23 09:15:28 2007-05-24 2007-05-24 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 2007-05-26 2007-05-26 00:00:00 +2008-01-06 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +2009-01-29 11:11:27 2009-01-29 00:00:00 2009-01-29 2009-01-29 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 2008-01-15 2008-01-16 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 2009-01-05 2009-01-06 00:00:00 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000-00-00 00:00:00 0000-00-00 00:00:00 2008-01-08 2008-01-09 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 2009-01-01 2009-01-02 00:00:00 +SELECT c1 FROM t3 GROUP BY c1; +c1 +0000-00-00 00:00:00 +1971-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1990-01-01 00:00:01 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2008-01-06 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +SELECT DISTINCT c1 FROM t3; +c1 +0000-00-00 00:00:00 +1971-01-01 00:00:01 +1983-09-05 13:28:00 +1983-09-09 00:00:00 +1990-01-01 00:00:01 +1998-12-28 00:00:00 +1998-12-29 00:00:00 +1998-12-30 11:30:45 +1998-12-31 11:30:45 +1999-01-01 00:00:00 +2007-05-23 09:15:28 +2007-05-25 00:00:00 +2008-01-01 00:00:00 +2008-01-06 00:00:00 +2009-01-29 11:11:27 +2038-01-09 03:14:07 +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +c1 MIN(c2) +0000-00-00 00:00:00 0000-00-00 00:00:00 +1971-01-01 00:00:01 1980-01-01 00:00:01 +1983-09-05 13:28:00 1983-09-05 13:28:00 +1983-09-09 00:00:00 1983-09-10 00:00:00 +1990-01-01 00:00:01 2000-01-01 00:00:01 +1998-12-28 00:00:00 1998-12-28 00:00:00 +1998-12-29 00:00:00 1998-12-29 00:00:00 +1998-12-30 11:30:45 1998-12-30 11:30:45 +1998-12-31 11:30:45 1998-12-30 11:30:45 +1999-01-01 00:00:00 NULL +2007-05-23 09:15:28 2007-05-23 09:15:28 +2007-05-25 00:00:00 2007-05-25 00:00:00 +2008-01-01 00:00:00 NULL +2008-01-06 00:00:00 0000-00-00 00:00:00 +2009-01-29 11:11:27 2008-01-14 00:00:00 +2038-01-09 03:14:07 2038-01-09 03:14:07 +DROP TABLE t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/insert_decimal.result b/mysql-test/suite/engines/iuds/r/insert_decimal.result new file mode 100644 index 00000000..a36c6c85 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/insert_decimal.result @@ -0,0 +1,2855 @@ +DROP TABLE IF EXISTS t1,t2; +CREATE TABLE t1(c1 DECIMAL(10,5) UNSIGNED NOT NULL, c2 DECIMAL(10,5) SIGNED NULL, c3 DECIMAL, c4 INT, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t2(c1 DECIMAL(10,0) SIGNED NOT NULL, c2 DECIMAL(10) UNSIGNED NULL, c3 DECIMAL, c4 INT); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100.05000',1); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t2 VALUES('-1000000000','1000000000','1000000000',2); +INSERT INTO t1(c1) VALUES('12345.000009'); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +INSERT INTO t1 VALUES('99999.99999','-99999.99999','99999.99999',3); +Warnings: +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t2 VALUES('-9999999999','-9999999999','9999999999',4); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 3 +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +ERROR 23000: Duplicate entry '99999.99999--99999.99999' for key 'idx' +DELETE FROM t1 WHERE c1='99999.99999' AND c2='-99999.99999'; +SELECT * FROM t1; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +INSERT IGNORE INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t2 VALUES('10000000000','-10000000000','10000000000',6); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +insert into t1 values ("0.0","0.0","0.0",7),("01.0","01.0","01.0",10); +insert ignore into t1 values ("-.1","-.1","-.1",13); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +insert ignore into t1 values ("+111111111.11","+111111111.11","+111111111.11",19); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +insert ignore into t2 values ("0.0","0.0","0.0",7),("-0.0","-0.0","-0.0",8),("+0.0","+0.0","+0.0",9),("01.0","01.0","01.0",10),("+01.0","+01.0","+01.0",11),("-01.0","-01.0","-01.0",12); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 6 +insert ignore into t2 values ("-.1","-.1","-.1",13),("+.1","+.1","+.1",14),(".1",".1",".1",15); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c2' at row 3 +Note 1265 Data truncated for column 'c3' at row 3 +insert ignore into t2 values ("00000000000001","00000000000001","00000000000001",16),("+0000000000001","+0000000000001","+0000000000001",17),("-0000000000001","-0000000000001","-0000000000001",18); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 3 +insert ignore into t2 values ("+111111111.11","+111111111.11","+111111111.11",19),("111111111.11","111111111.11","111111111.11",20),("-11111111.11","-11111111.11","-11111111.11",21); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Note 1265 Data truncated for column 'c3' at row 3 +insert ignore into t2 values ("-111111111.11","-111111111.11","-111111111.11",22),("+1111111111.11","+1111111111.11","+1111111111.11",23),("1111111111.11","1111111111.11","1111111111.11",24); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c2' at row 3 +Note 1265 Data truncated for column 'c3' at row 3 +insert ignore into t2 values ("1e+1000","1e+1000","1e+1000",25),("1e-1000","1e-1000","1e-1000",26),("-1e+1000","-1e+1000","-1e+1000",27); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c3' at row 3 +insert ignore into t2 values ("1e+4294967296","1e+4294967296","1e+4294967296",28),("1e-4294967296","1e-4294967296","1e-4294967296",29); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +insert ignore into t2 values ("1e+18446744073709551615","1e+18446744073709551615","1e+18446744073709551615",30),("1e+18446744073709551616","1e+18446744073709551616","1e+18446744073709551616",31),("1e-9223372036854775807","1e-9223372036854775807","1e-9223372036854775807",32),("1e-9223372036854775809","1e-9223372036854775809","1e-9223372036854775809",33); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c3' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c2' at row 3 +Note 1265 Data truncated for column 'c3' at row 3 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t2; +c1 c2 c3 c4 +-1 0 -1 12 +-1 0 -1 18 +-1000000000 1000000000 1000000000 2 +-11111111 0 -11111111 21 +-111111111 0 -111111111 22 +-9999999999 0 -9999999999 27 +-9999999999 0 9999999999 4 +0 0 0 13 +0 0 0 14 +0 0 0 15 +0 0 0 26 +0 0 0 29 +0 0 0 32 +0 0 0 33 +0 0 0 7 +0 0 0 8 +0 0 0 9 +1 1 1 10 +1 1 1 11 +1 1 1 16 +1 1 1 17 +111111111 111111111 111111111 19 +111111111 111111111 111111111 20 +1111111111 1111111111 1111111111 23 +1111111111 1111111111 1111111111 24 +9999999999 0 9999999999 6 +9999999999 9999999999 9999999999 25 +9999999999 9999999999 9999999999 28 +9999999999 9999999999 9999999999 30 +9999999999 9999999999 9999999999 31 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +7 0.00000 99999.99999 212446.04999 30349.435712857 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +7 -99999.99999 99999.99999 -99.15000 -16.525000000 +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t1; +total_rows min_value max_value sum avg +7 0 111111111 111211212 18535202.0000 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +30 -9999999999 9999999999 31322222221 1044074074.0333 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +30 0 9999999999 43444444444 1448148148.1333 +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t2; +total_rows min_value max_value sum avg +30 -9999999999 9999999999 53322222219 1777407407.3000 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +7 0.00000 99999.99999 +SELECT * FROM t1 WHERE c3 = '0.0'; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +99999.99999 99999.99999 +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 99999.99999 +99999.99999 -99999.99999 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +7 0.00000 99999.99999 +SELECT * FROM t1 WHERE c3 = '-0.0'; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +99999.99999 99999.99999 +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 99999.99999 +99999.99999 -99999.99999 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +7 -99999.99999 99999.99999 +SELECT * FROM t1 WHERE c3 = '-0.0'; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +99999.99999 99999.99999 +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 99999.99999 +99999.99999 -99999.99999 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +100.05000 -100.05000 100 1 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 -99999.99999 100000 5 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 0 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +100.05000 -100.05000 100 1 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100 1 +99999.99999 99999.99999 111111111 19 +99999.99999 -99999.99999 100000 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 0 13 +SELECT c1 FROM t1 GROUP BY c1; +c1 +0.00000 +1.00000 +100.05000 +12345.00001 +99999.99999 +SELECT DISTINCT c1 FROM t1; +c1 +0.00000 +1.00000 +100.05000 +12345.00001 +99999.99999 +SELECT c1,MIN(c2) FROM t1 GROUP BY c1; +c1 MIN(c2) +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +CREATE TABLE t5(c1 DECIMAL(65,0) UNSIGNED NOT NULL, c2 DECIMAL(65,0) SIGNED NULL, c3 DECIMAL, c4 INT, INDEX idx(c1,c2)); +INSERT IGNORE INTO t5 VALUES('1e+64','-1e+64','1e+64',1),('1e-64','-1e-64','1e-64',2); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +INSERT IGNORE INTO t5 VALUES('1.2e+65','-1.2e+65','1.2e+65',3),('1.2e-65','-1.2e-65','1.2e-65',4); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c3' at row 2 +SELECT * FROM t5; +c1 c2 c3 c4 +0 0 0 2 +0 0 0 4 +10000000000000000000000000000000000000000000000000000000000000000 -10000000000000000000000000000000000000000000000000000000000000000 9999999999 1 +99999999999999999999999999999999999999999999999999999999999999999 -99999999999999999999999999999999999999999999999999999999999999999 9999999999 3 +DROP TABLE t5; +CREATE TABLE t5(c1 DECIMAL(18,9) UNSIGNED, c2 DECIMAL(18,9) SIGNED) /* requires 8 bytes */; +INSERT INTO t5 VALUES(123456789.123456789,-123456789.123456789); +SELECT c1,c2 FROM t5; +c1 c2 +123456789.123456789 -123456789.123456789 +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(19,9) UNSIGNED, CHANGE c2 c2 DECIMAL(19,9) SIGNED /* requires 9 bytes */; +INSERT INTO t5 VALUES(1234567891.123456789,-1234567891.123456789); +SELECT c1,c2 FROM t5; +c1 c2 +123456789.123456789 -123456789.123456789 +1234567891.123456789 -1234567891.123456789 +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(21,10) UNSIGNED, CHANGE c2 c2 DECIMAL(21,10) SIGNED /* requires 10 bytes */; +INSERT INTO t5 VALUES(12345678912.1234567891,-12345678912.1234567891); +SELECT c1,c2 FROM t5; +c1 c2 +123456789.1234567890 -123456789.1234567890 +1234567891.1234567890 -1234567891.1234567890 +12345678912.1234567891 -12345678912.1234567891 +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(23,11) UNSIGNED, CHANGE c2 c2 DECIMAL(23,11) SIGNED /* requires 11 bytes */; +INSERT INTO t5 VALUES(123456789123.12345678912,-123456789123.12345678912); +SELECT c1,c2 FROM t5; +c1 c2 +123456789.12345678900 -123456789.12345678900 +1234567891.12345678900 -1234567891.12345678900 +12345678912.12345678910 -12345678912.12345678910 +123456789123.12345678912 -123456789123.12345678912 +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(25,12) UNSIGNED, CHANGE c2 c2 DECIMAL(25,12) SIGNED /* requires 12 bytes */; +INSERT INTO t5 VALUES(1234567891234.123456789123,-1234567891234.123456789123); +SELECT c1,c2 FROM t5; +c1 c2 +123456789.123456789000 -123456789.123456789000 +1234567891.123456789000 -1234567891.123456789000 +12345678912.123456789100 -12345678912.123456789100 +123456789123.123456789120 -123456789123.123456789120 +1234567891234.123456789123 -1234567891234.123456789123 +SELECT SUM(c1),SUM(c2) FROM t5; +SUM(c1) SUM(c2) +1371728383949.617283945343 -1371728383949.617283945343 +DROP TABLE t5; +CREATE TABLE t5(c1 DECIMAL(16,6), c2 tinyint); +INSERT INTO t5 VALUES(1.1325,3); +SELECT ROUND(c1,c2),TRUNCATE(c1,c2) FROM t5; +ROUND(c1,c2) TRUNCATE(c1,c2) +1.133000 1.132000 +DROP TABLE t5; +CREATE TABLE t7(c1 DECIMAL(66,0)); +ERROR 42000: Too big precision specified for 'c1'. Maximum is 65 +CREATE TABLE t7(c1 DECIMAL(5,10)); +ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'c1') +DROP TABLE t1,t2; +CREATE TABLE t1(c1 FLOAT(10,5) UNSIGNED NOT NULL, c2 FLOAT(10,5) SIGNED NULL, c3 FLOAT, c4 INT, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t2(c1 FLOAT(10,0) SIGNED NOT NULL, c2 FLOAT(10,0) UNSIGNED NULL, c3 FLOAT, c4 INT); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100.05000',1); +INSERT INTO t2 VALUES('-1000000000','1000000000','1000000000',2); +INSERT INTO t1(c1) VALUES('12345.000009'); +INSERT INTO t1 VALUES('99999.99999','-99999.99999','99999.99999',3); +INSERT IGNORE INTO t2 VALUES('-9999999999','-9999999999','9999999999',4); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 3 +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +ERROR 23000: Duplicate entry '100000.00000--100000.00000' for key 'idx' +DELETE FROM t1 WHERE c1='100000.00000' AND c2='-100000.00000'; +INSERT IGNORE INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT IGNORE INTO t2 VALUES('10000000000','-10000000000','10000000000',6); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +insert into t1 values ("0.0","0.0","0.0",7),("01.0","01.0","01.0",10); +insert ignore into t1 values ("-.1","-.1","-.1",13); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +insert ignore into t1 values ("+111111111.11","+111111111.11","+111111111.11",19); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +insert ignore into t2 values ("0.0","0.0","0.0",7),("-0.0","-0.0","-0.0",8),("+0.0","+0.0","+0.0",9),("01.0","01.0","01.0",10),("+01.0","+01.0","+01.0",11),("-01.0","-01.0","-01.0",12); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 6 +insert ignore into t2 values ("-.1","-.1","-.1",13),("+.1","+.1","+.1",14),(".1",".1",".1",15); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +insert ignore into t2 values ("00000000000001","00000000000001","00000000000001",16),("+0000000000001","+0000000000001","+0000000000001",17),("-0000000000001","-0000000000001","-0000000000001",18); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 3 +insert ignore into t2 values ("+111111111.11","+111111111.11","+111111111.11",19),("111111111.11","111111111.11","111111111.11",20),("-11111111.11","-11111111.11","-11111111.11",21); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 3 +insert ignore into t2 values ("-111111111.11","-111111111.11","-111111111.11",22),("+1111111111.11","+1111111111.11","+1111111111.11",23),("1111111111.11","1111111111.11","1111111111.11",24); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +insert ignore into t2 values ("1e+1000","1e+1000","1e+1000",25),("1e-1000","1e-1000","1e-1000",26),("-1e+1000","-1e+1000","-1e+1000",27); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c3' at row 3 +Warning 1264 Out of range value for column 'c3' at row 3 +insert ignore into t2 values ("1e+4294967296","1e+4294967296","1e+4294967296",28),("1e-4294967296","1e-4294967296","1e-4294967296",29); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +insert ignore into t2 values ("1e+18446744073709551615","1e+18446744073709551615","1e+18446744073709551615",30),("1e+18446744073709551616","1e+18446744073709551616","1e+18446744073709551616",31),("1e-9223372036854775807","1e-9223372036854775807","1e-9223372036854775807",32),("1e-9223372036854775809","1e-9223372036854775809","1e-9223372036854775809",33); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c3' at row 2 +Warning 1264 Out of range value for column 'c3' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +12345.00000 NULL NULL NULL +SELECT * FROM t2; +c1 c2 c3 c4 +-1 0 -1 12 +-1 0 -1 18 +-1000000000 1000000000 1000000000 2 +-10000000000 0 -3.40282e38 27 +-10000000000 0 10000000000 4 +-11111111 0 -11111100 21 +-111111112 0 -111111000 22 +0 0 -0 8 +0 0 -0.1 13 +0 0 0 26 +0 0 0 29 +0 0 0 32 +0 0 0 33 +0 0 0 7 +0 0 0 9 +0 0 0.1 14 +0 0 0.1 15 +1 1 1 10 +1 1 1 11 +1 1 1 16 +1 1 1 17 +10000000000 0 10000000000 6 +10000000000 10000000000 3.40282e38 25 +10000000000 10000000000 3.40282e38 28 +10000000000 10000000000 3.40282e38 30 +10000000000 10000000000 3.40282e38 31 +111111112 111111112 111111000 19 +111111112 111111112 111111000 20 +1111111168 1111111168 1111110000 23 +1111111168 1111111168 1111110000 24 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +7 0.00000 100000.00000 212446.05000 30349.435714722 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +7 -100000.00000 100000.00000 -99.15000 -16.525000509 +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t1; +total_rows min_value max_value sum avg +7 -0.1 111111000 111211212.95000306 18535202.15833384 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +30 -10000000000 10000000000 31322222339 1044074077.9667 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +30 0 10000000000 43444444564 1448148152.1333 +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t2; +total_rows min_value max_value sum avg +30 -3.40282e38 3.40282e38 1.0208470399155866e39 3.4028234663852886e37 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +12345.00000 NULL NULL NULL +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +7 0.00000 100000.00000 +SELECT * FROM t1 WHERE c3 = '0.0'; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +100000.00000 -100000.00000 +100000.00000 100000.00000 +12345.00000 NULL +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00000 NULL +100000.00000 100000.00000 +100000.00000 -100000.00000 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +12345.00000 NULL NULL NULL +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +7 0.00000 100000.00000 +SELECT * FROM t1 WHERE c3 = '-0.0'; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +100000.00000 -100000.00000 +100000.00000 100000.00000 +12345.00000 NULL +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00000 NULL +100000.00000 100000.00000 +100000.00000 -100000.00000 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00000 NULL NULL NULL +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +12345.00000 NULL NULL NULL +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +7 -100000.00000 100000.00000 +SELECT * FROM t1 WHERE c3 = '-0.0'; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +100000.00000 -100000.00000 +100000.00000 100000.00000 +12345.00000 NULL +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00000 NULL +100000.00000 100000.00000 +100000.00000 -100000.00000 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 -100000.00000 100000 5 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 100000.00000 111111000 19 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +12345.00000 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +100000.00000 100000.00000 111111000 19 +100000.00000 -100000.00000 100000 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT c1 FROM t1 GROUP BY c1; +c1 +0.00000 +1.00000 +100.05000 +100000.00000 +12345.00000 +SELECT DISTINCT c1 FROM t1; +c1 +0.00000 +1.00000 +100.05000 +100000.00000 +12345.00000 +SELECT c1,MIN(c2) FROM t1 GROUP BY c1; +c1 MIN(c2) +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +100000.00000 -100000.00000 +12345.00000 NULL +CREATE TABLE t5(c1 FLOAT(23,0) UNSIGNED NOT NULL, c2 FLOAT(23,0) SIGNED NULL, c3 FLOAT, c4 INT, INDEX idx(c1,c2)); +INSERT INTO t5 VALUES('1e+22','-1e+22','1e+22',1),('1e-22','-1e-22','1e-22',2); +SELECT * FROM t5; +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 FLOAT(24,0) SIGNED NOT NULL, CHANGE c2 c2 FLOAT(24,0) UNSIGNED NULL; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t5 VALUES('-1e+23','1e+23','1e+23',3),('-1e-23','1e-23','1e-23',4); +SELECT * FROM t5; +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 FLOAT(53,0) UNSIGNED, CHANGE c2 c2 FLOAT(53,0) SIGNED; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 3 +INSERT IGNORE INTO t5 VALUES('1e+52','-1e+52','1e+52',5),('1e-52','-1e-52','1e-52',6); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t5 VALUES('1e+53','-1e+53','1e+53',7),('1e-53','-1e-53','1e-53',8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT * FROM t5; +c1 c2 c3 c4 +# # 0 6 +# # 0 8 +# # 1e-22 2 +# # 1e-23 4 +# # 1e22 1 +# # 1e23 3 +# # 3.40282e38 5 +# # 3.40282e38 7 +DROP TABLE t5; +CREATE TABLE t5(c1 FLOAT(16,6), c2 tinyint); +INSERT INTO t5 VALUES(1.1325,3); +SELECT ROUND(c1,c2),TRUNCATE(c1,c2) FROM t5; +ROUND(c1,c2) TRUNCATE(c1,c2) +1.133000 1.132000 +DROP TABLE t5; +CREATE TABLE t7(c1 FLOAT(5,10)); +ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'c1') +DROP TABLE t1,t2; +CREATE TABLE t1(c1 DOUBLE(10,5) UNSIGNED NOT NULL, c2 DOUBLE(10,5) SIGNED NULL, c3 DOUBLE, c4 INT, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t2(c1 DOUBLE(10,0) SIGNED NOT NULL, c2 DOUBLE(10,0) UNSIGNED NULL, c3 DOUBLE, c4 INT); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100.05000',1); +INSERT INTO t2 VALUES('-1000000000','1000000000','1000000000',2); +INSERT INTO t1(c1) VALUES('12345.000009'); +INSERT INTO t1 VALUES('99999.99999','-99999.99999','99999.99999',3); +INSERT IGNORE INTO t2 VALUES('-9999999999','-9999999999','9999999999',4); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 99999.99999 3 +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +ERROR 23000: Duplicate entry '99999.99999--99999.99999' for key 'idx' +DELETE FROM t1 WHERE c1='99999.99999' AND c2='-99999.99999'; +INSERT IGNORE INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT IGNORE INTO t2 VALUES('10000000000','-10000000000','10000000000',6); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +insert into t1 values ("0.0","0.0","0.0",7),("01.0","01.0","01.0",10); +insert ignore into t1 values ("-.1","-.1","-.1",13); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +insert ignore into t1 values ("+111111111.11","+111111111.11","+111111111.11",19); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +insert ignore into t2 values ("0.0","0.0","0.0",7),("-0.0","-0.0","-0.0",8),("+0.0","+0.0","+0.0",9),("01.0","01.0","01.0",10),("+01.0","+01.0","+01.0",11),("-01.0","-01.0","-01.0",12); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 6 +insert ignore into t2 values ("-.1","-.1","-.1",13),("+.1","+.1","+.1",14),(".1",".1",".1",15); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +insert ignore into t2 values ("00000000000001","00000000000001","00000000000001",16),("+0000000000001","+0000000000001","+0000000000001",17),("-0000000000001","-0000000000001","-0000000000001",18); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 3 +insert ignore into t2 values ("+111111111.11","+111111111.11","+111111111.11",19),("111111111.11","111111111.11","111111111.11",20),("-11111111.11","-11111111.11","-11111111.11",21); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 3 +insert ignore into t2 values ("-111111111.11","-111111111.11","-111111111.11",22),("+1111111111.11","+1111111111.11","+1111111111.11",23),("1111111111.11","1111111111.11","1111111111.11",24); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +insert ignore into t2 values ("1e+1000","1e+1000","1e+1000",25),("1e-1000","1e-1000","1e-1000",26),("-1e+1000","-1e+1000","-1e+1000",27); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c3' at row 3 +insert ignore into t2 values ("1e+4294967296","1e+4294967296","1e+4294967296",28),("1e-4294967296","1e-4294967296","1e-4294967296",29); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +insert ignore into t2 values ("1e+18446744073709551615","1e+18446744073709551615","1e+18446744073709551615",30),("1e+18446744073709551616","1e+18446744073709551616","1e+18446744073709551616",31),("1e-9223372036854775807","1e-9223372036854775807","1e-9223372036854775807",32),("1e-9223372036854775809","1e-9223372036854775809","1e-9223372036854775809",33); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c3' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t2; +c1 c2 c3 c4 +-1 0 -1 12 +-1 0 -1 18 +-1000000000 1000000000 1000000000 2 +-11111111 0 -11111111.11 21 +-111111111 0 -111111111.11 22 +-9999999999 0 -1.7976931348623157e308 27 +-9999999999 0 9999999999 4 +0 0 -0 8 +0 0 -0.1 13 +0 0 0 26 +0 0 0 29 +0 0 0 32 +0 0 0 33 +0 0 0 7 +0 0 0 9 +0 0 0.1 14 +0 0 0.1 15 +1 1 1 10 +1 1 1 11 +1 1 1 16 +1 1 1 17 +111111111 111111111 111111111.11 19 +111111111 111111111 111111111.11 20 +1111111111 1111111111 1111111111.11 23 +1111111111 1111111111 1111111111.11 24 +9999999999 0 10000000000 6 +9999999999 9999999999 1.7976931348623157e308 25 +9999999999 9999999999 1.7976931348623157e308 28 +9999999999 9999999999 1.7976931348623157e308 30 +9999999999 9999999999 1.7976931348623157e308 31 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +7 0.00000 99999.99999 212446.04999 30349.435712857 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +7 -99999.99999 99999.99999 -99.15000 -16.525000000 +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t1; +total_rows min_value max_value sum avg +7 -0.1 111111111.11 111211212.060002 18535202.010000333 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +30 -9999999999 9999999999 31322222221 1044074074.0333 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +30 0 9999999999 43444444444 1448148148.1333 +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t2; +total_rows min_value max_value sum avg +30 -1.7976931348623157e308 1.7976931348623157e308 inf inf +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +7 0.00000 99999.99999 +SELECT * FROM t1 WHERE c3 = '0.0'; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +99999.99999 99999.99999 +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 99999.99999 +99999.99999 -99999.99999 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1.00000 1.00000 1 10 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +7 0.00000 99999.99999 +SELECT * FROM t1 WHERE c3 = '-0.0'; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +99999.99999 99999.99999 +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 99999.99999 +99999.99999 -99999.99999 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +12345.00001 NULL NULL NULL +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +7 -99999.99999 99999.99999 +SELECT * FROM t1 WHERE c3 = '-0.0'; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +99999.99999 99999.99999 +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; +c1 c2 +0.00000 0.00000 +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 99999.99999 +99999.99999 -99999.99999 +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +100.05000 -100.05000 100.05 1 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 -99999.99999 100000.000002 5 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 13 +0.00000 0.00000 0 7 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +100.05000 -100.05000 100.05 1 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +12345.00001 NULL NULL NULL +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +1.00000 1.00000 1 10 +100.05000 -100.05000 100.05 1 +99999.99999 99999.99999 111111111.11 19 +99999.99999 -99999.99999 100000.000002 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0.00000 0.00000 0 7 +0.00000 -0.10000 -0.1 13 +SELECT c1 FROM t1 GROUP BY c1; +c1 +0.00000 +1.00000 +100.05000 +12345.00001 +99999.99999 +SELECT DISTINCT c1 FROM t1; +c1 +0.00000 +1.00000 +100.05000 +12345.00001 +99999.99999 +SELECT c1,MIN(c2) FROM t1 GROUP BY c1; +c1 MIN(c2) +0.00000 -0.10000 +1.00000 1.00000 +100.05000 -100.05000 +12345.00001 NULL +99999.99999 -99999.99999 +CREATE TABLE t5(c1 DOUBLE(23,0) UNSIGNED NOT NULL, c2 DOUBLE(23,0) SIGNED NULL, c3 DOUBLE, c4 INT, INDEX idx(c1,c2)); +INSERT INTO t5 VALUES('1e+22','-1e+22','1e+22',1),('1e-22','-1e-22','1e-22',2); +SELECT * FROM t5; +c1 c2 c3 c4 +0 0 1e-22 2 +10000000000000000000000 -10000000000000000000000 1e22 1 +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 DOUBLE(24,0) SIGNED NOT NULL, CHANGE c2 c2 DOUBLE(24,0) UNSIGNED NULL; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t5 VALUES('-1e+23','1e+23','1e+23',3),('-1e-23','1e-23','1e-23',4); +SELECT * FROM t5; +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 DOUBLE(53,0) UNSIGNED, CHANGE c2 c2 DOUBLE(53,0) SIGNED; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 3 +INSERT INTO t5 VALUES('1e+52','-1e+52','1e+52',5),('1e-52','-1e-52','1e-52',6); +INSERT INTO t5 VALUES('1e+53','-1e+53','1e+53',7),('1e-53','-1e-53','1e-53',8); +SELECT * FROM t5; +DROP TABLE t5; +CREATE TABLE t5(c1 DOUBLE(16,6), c2 tinyint); +INSERT INTO t5 VALUES(1.1325,3); +SELECT ROUND(c1,c2),TRUNCATE(c1,c2) FROM t5; +ROUND(c1,c2) TRUNCATE(c1,c2) +1.132000 1.132000 +DROP TABLE t5; +CREATE TABLE t7(c1 DOUBLE(5,10)); +ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'c1') +DROP TABLE t1,t2; diff --git a/mysql-test/suite/engines/iuds/r/insert_number.result b/mysql-test/suite/engines/iuds/r/insert_number.result new file mode 100644 index 00000000..564ce8d3 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/insert_number.result @@ -0,0 +1,34950 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4,t5; +CREATE TABLE t1(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); +INSERT IGNORE INTO t1 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT IGNORE INTO t2 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c2` at row 1 +INSERT IGNORE INTO t3 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c2` at row 1 +INSERT IGNORE INTO t1 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t3 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); +INSERT IGNORE INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`c2` at row 1 +INSERT IGNORE INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t2`.`c2` at row 1 +INSERT IGNORE INTO t3 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t3`.`c2` at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +10 0 122 652 65.2000 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +10 -123 124 -202 -22.4444 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +14 0 122 1073 76.6429 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +14 -123 124 -638 -49.0769 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +total_rows min_value max_value sum avg +14 0 122 1056 75.4286 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; +total_rows min_value max_value sum avg +14 -123 124 -613 -47.1538 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT c2 FROM t3 GROUP BY c2; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT DISTINCT c2 FROM t3; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; +c2 MIN(c7) +-102 101 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +124 26 +NULL 106 +CREATE TABLE t4(c1 TINYINT SIGNED NOT NULL AUTO_INCREMENT, c2 TINYINT UNSIGNED NULL, c3 TINYINT UNSIGNED NOT NULL, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 TINYINT SIGNED NULL, c3 TINYINT SIGNED NOT NULL, c4 SMALLINT, c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +INSERT IGNORE INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT IGNORE INTO t4 VALUES('','',17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c2` at row 1 +INSERT IGNORE INTO t5 VALUES('','',-17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c2` at row 1 +INSERT IGNORE INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c3` at row 1 +INSERT IGNORE INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c3` at row 1 +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +INSERT IGNORE INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +total_rows min_value max_value sum avg +11 -108 106 321 29.1818 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +total_rows min_value max_value sum avg +11 101 116 1211 110.0909 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t5; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +11 101 116 +SELECT * FROM t5 WHERE c5 = 112; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +114 -108 -109 111 112 113 114 115 +SELECT c1 FROM t5; +c1 +101 +102 +108 +109 +110 +111 +112 +113 +114 +115 +116 +SELECT c1 FROM t5 ORDER BY c1 DESC; +c1 +116 +115 +114 +113 +112 +111 +110 +109 +108 +102 +101 +SELECT * FROM t5 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1=1 OR c2=109; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +SELECT c2 FROM t4 GROUP BY c2; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT DISTINCT c2 FROM t4; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; +c2 MIN(c3) +0 0 +101 102 +102 103 +108 109 +109 110 +115 116 +122 123 +32 33 +7 8 +NULL 104 +SET STATEMENT sql_mode = '' FOR +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +SET STATEMENT sql_mode = '' FOR +INSERT INTO t5(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; +ERROR 23000: Duplicate entry '-101' for key 'PRIMARY' +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +ERROR 23000: Duplicate entry '101-106' for key 'PRIMARY' +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; +ERROR 23000: Duplicate entry '101--102' for key 'PRIMARY' +SET STATEMENT sql_mode = '' FOR +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +ERROR 23000: Duplicate entry '-103' for key 'c3' +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; +ERROR 23000: Duplicate entry '102-103' for key 'idx' +CREATE TABLE t6(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +CREATE TABLE t7(c1 TINYINT UNSIGNED NOT NULL PRIMARY KEY, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t7; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +SELECT c1 FROM t7; +c1 +1 +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +SELECT c1 FROM t8; +c1 +1 +TRUNCATE TABLE t6; +TRUNCATE TABLE t7; +INSERT INTO t6(c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5); +INSERT INTO t7(c1) SELECT c1 FROM t6; +ERROR 23000: Duplicate entry '3' for key 'PRIMARY' +TRUNCATE TABLE t6; +INSERT IGNORE INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +Warnings: +Warning 1048 Column 'c1' cannot be null +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +last_insert_id +7 +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +5 -1 1 1 1 1 1 +6 -2 2 2 2 2 2 +7 -4 4 4 4 4 4 +8 -5 5 5 5 5 5 +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 -2 NULL NULL NULL NULL NULL +DROP TABLE t6,t7,t8; +INSERT IGNORE INTO t2 SET c3=5,c4=6; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +Warning 1364 Field 'c6' doesn't have a default value +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t2 SET c3=5,c4=6; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +INSERT INTO t1 VALUES(0,-128,1,2,3,4,5),(255,127,6,7,8,9,10); +INSERT INTO t2 VALUES(0,-128,1,2,3,4,5),(255,127,6,7,8,9,10); +INSERT INTO t3 VALUES(0,-128,1,2,3,4,5),(255,127,6,7,8,9,10); +INSERT INTO t4 VALUES(-128,0,1,2,3,4,5,5),(127,255,6,7,8,9,10,10); +INSERT INTO t5 VALUES(0,-128,1,2,3,4,5,5),(255,127,6,7,8,9,10,10); +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +-128 0 1 2 3 4 5 5 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +127 255 6 7 8 9 10 10 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +INSERT INTO t1 VALUES(-255,-129,26,27,28,29,30),(256,128,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES(-255,-129,26,27,28,29,30),(256,128,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t3 VALUES(-255,-129,26,27,28,29,30),(256,128,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +19 0 255 +SELECT * FROM t2 WHERE c2 = -128; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 34 +255 9 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 34 +255 9 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +19 0 255 +SELECT * FROM t2 WHERE c2 = 127; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 34 +255 9 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 34 +255 9 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +19 0 255 +SELECT * FROM t2 WHERE c2 = -129; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 34 +255 9 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 34 +255 9 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +19 0 255 +SELECT * FROM t2 WHERE c2 = 128; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 34 +255 9 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 34 +255 9 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -128 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -128 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -128 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -128 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +18 -128 127 +SELECT * FROM t3 WHERE c1 = 0; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 30 +-128 5 +0 21 +0 36 +0 41 +124 26 +124 31 +127 10 +127 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-128 30 +-128 5 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +127 35 +127 10 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +18 -128 127 +SELECT * FROM t3 WHERE c1 = 255; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 30 +-128 5 +0 21 +0 36 +0 41 +124 26 +124 31 +127 10 +127 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-128 30 +-128 5 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +127 35 +127 10 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +18 -128 127 +SELECT * FROM t3 WHERE c1 = -255; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 30 +-128 5 +0 21 +0 36 +0 41 +124 26 +124 31 +127 10 +127 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-128 30 +-128 5 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +127 35 +127 10 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +18 -128 127 +SELECT * FROM t3 WHERE c1 = 256; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 30 +-128 5 +0 21 +0 36 +0 41 +124 26 +124 31 +127 10 +127 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-128 30 +-128 5 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +127 35 +127 10 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +255 127 6 7 8 9 10 +255 127 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 1 2 3 4 5 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +255 127 31 32 33 34 35 +255 127 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -128 26 27 28 29 30 +0 -128 1 2 3 4 5 +DROP TABLE t1,t2,t3,t4,t5; +CREATE TABLE t1(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t1 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c2` at row 1 +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t3`.`c2` at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +10 0 122 652 65.2000 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +10 -123 124 -202 -22.4444 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +14 0 122 1073 76.6429 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +14 -123 124 -638 -49.0769 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +total_rows min_value max_value sum avg +14 0 122 1056 75.4286 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; +total_rows min_value max_value sum avg +14 -123 124 -613 -47.1538 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT c2 FROM t3 GROUP BY c2; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT DISTINCT c2 FROM t3; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; +c2 MIN(c7) +-102 101 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +124 26 +NULL 106 +CREATE TABLE t4(c1 SMALLINT SIGNED NOT NULL AUTO_INCREMENT, c2 SMALLINT UNSIGNED NULL, c3 SMALLINT UNSIGNED NOT NULL, c4 TINYINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 SMALLINT SIGNED NULL, c3 SMALLINT SIGNED NOT NULL, c4 TINYINT, c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c2` at row 1 +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c2` at row 1 +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c3` at row 1 +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c3` at row 1 +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +total_rows min_value max_value sum avg +11 -108 106 321 29.1818 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +total_rows min_value max_value sum avg +11 101 116 1211 110.0909 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t5; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +11 101 116 +SELECT * FROM t5 WHERE c5 = 112; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +114 -108 -109 111 112 113 114 115 +SELECT c1 FROM t5; +c1 +101 +102 +108 +109 +110 +111 +112 +113 +114 +115 +116 +SELECT c1 FROM t5 ORDER BY c1 DESC; +c1 +116 +115 +114 +113 +112 +111 +110 +109 +108 +102 +101 +SELECT * FROM t5 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1=1 OR c2=109; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +SELECT c2 FROM t4 GROUP BY c2; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT DISTINCT c2 FROM t4; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; +c2 MIN(c3) +0 0 +101 102 +102 103 +108 109 +109 110 +115 116 +122 123 +32 33 +7 8 +NULL 104 +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t5(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; +ERROR 23000: Duplicate entry '-101' for key 'PRIMARY' +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +ERROR 23000: Duplicate entry '101-106' for key 'PRIMARY' +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; +ERROR 23000: Duplicate entry '101--102' for key 'PRIMARY' +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +ERROR 23000: Duplicate entry '-103' for key 'c3' +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; +ERROR 23000: Duplicate entry '102-103' for key 'idx' +CREATE TABLE t6(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +CREATE TABLE t7(c1 SMALLINT UNSIGNED NOT NULL PRIMARY KEY, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t7; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +TRUNCATE TABLE t6; +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +Warnings: +Warning 1048 Column 'c1' cannot be null +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +last_insert_id +7 +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +5 -1 1 1 1 1 1 +6 -2 2 2 2 2 2 +7 -4 4 4 4 4 4 +8 -5 5 5 5 5 5 +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 -2 NULL NULL NULL NULL NULL +DROP TABLE t6,t7,t8; +INSERT INTO t2 SET c3=5,c4=6; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +Warning 1364 Field 'c6' doesn't have a default value +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t2 SET c3=5,c4=6; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +INSERT INTO t1 VALUES(0,-32768,1,2,3,4,5),(255,-128,6,7,8,9,10),(65535,32767,11,12,13,14,15); +INSERT INTO t2 VALUES(0,-32768,1,2,3,4,5),(255,-128,6,7,8,9,10),(65535,32767,11,12,13,14,15); +INSERT INTO t3 VALUES(0,-32768,1,2,3,4,5),(255,-128,6,7,8,9,10),(65535,32767,11,12,13,14,15); +INSERT INTO t4 VALUES(-32768,0,1,2,3,4,5,5),(-128,255,6,7,8,9,10,10),(32767,65535,11,12,13,14,15,15); +INSERT INTO t5 VALUES(0,-32768,1,2,3,4,5,5),(255,-128,6,7,8,9,10,10),(65535,32767,11,12,13,14,15,15); +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +-128 255 6 7 8 9 10 10 +-32768 0 1 2 3 4 5 5 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +32767 65535 11 12 13 14 15 15 +4 7 8 9 10 11 12 13 +INSERT INTO t1 VALUES(-255,-32769,26,27,28,29,30),(65536,32768,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES(-255,-32769,26,27,28,29,30),(65536,32768,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t3 VALUES(-255,-32769,26,27,28,29,30),(65536,32768,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 65535 +SELECT * FROM t2 WHERE c2 = -32768; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 9 +65535 14 +65535 34 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 34 +65535 14 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 65535 +SELECT * FROM t2 WHERE c2 = 32767; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 9 +65535 14 +65535 34 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 34 +65535 14 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 65535 +SELECT * FROM t2 WHERE c2 = -32769; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 9 +65535 14 +65535 34 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 34 +65535 14 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 65535 +SELECT * FROM t2 WHERE c2 = 32768; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +255 9 +65535 14 +65535 34 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 34 +65535 14 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -32768 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -32768 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -32768 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -32768 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +19 -32768 32767 +SELECT * FROM t3 WHERE c1 = 0; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 10 +-32768 30 +-32768 5 +0 21 +0 36 +0 41 +124 26 +124 31 +32767 15 +32767 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-32768 30 +-32768 5 +-128 10 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +32767 35 +32767 15 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +19 -32768 32767 +SELECT * FROM t3 WHERE c1 = 65535; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 10 +-32768 30 +-32768 5 +0 21 +0 36 +0 41 +124 26 +124 31 +32767 15 +32767 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-32768 30 +-32768 5 +-128 10 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +32767 35 +32767 15 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -128 6 7 8 9 10 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +19 -32768 32767 +SELECT * FROM t3 WHERE c1 = -255; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 10 +-32768 30 +-32768 5 +0 21 +0 36 +0 41 +124 26 +124 31 +32767 15 +32767 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-32768 30 +-32768 5 +-128 10 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +32767 35 +32767 15 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -128 6 7 8 9 10 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +19 -32768 32767 +SELECT * FROM t3 WHERE c1 = 65536; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 10 +-32768 30 +-32768 5 +0 21 +0 36 +0 41 +124 26 +124 31 +32767 15 +32767 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-32768 30 +-32768 5 +-128 10 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +32767 35 +32767 15 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +65535 32767 11 12 13 14 15 +65535 32767 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 1 2 3 4 5 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +255 -128 6 7 8 9 10 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +65535 32767 31 32 33 34 35 +65535 32767 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -32768 26 27 28 29 30 +0 -32768 1 2 3 4 5 +DROP TABLE t1,t2,t3,t4,t5; +CREATE TABLE t1(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t1 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c2` at row 1 +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t3`.`c2` at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +10 0 122 652 65.2000 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +10 -123 124 -202 -22.4444 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +14 0 122 1073 76.6429 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +14 -123 124 -638 -49.0769 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +total_rows min_value max_value sum avg +14 0 122 1056 75.4286 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; +total_rows min_value max_value sum avg +14 -123 124 -613 -47.1538 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT c2 FROM t3 GROUP BY c2; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT DISTINCT c2 FROM t3; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; +c2 MIN(c7) +-102 101 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +124 26 +NULL 106 +CREATE TABLE t4(c1 MEDIUMINT SIGNED NOT NULL AUTO_INCREMENT, c2 MEDIUMINT UNSIGNED NULL, c3 MEDIUMINT UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 MEDIUMINT SIGNED NULL, c3 MEDIUMINT SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c2` at row 1 +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c2` at row 1 +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c3` at row 1 +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c3` at row 1 +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +total_rows min_value max_value sum avg +11 -108 106 321 29.1818 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +total_rows min_value max_value sum avg +11 101 116 1211 110.0909 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t5; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +11 101 116 +SELECT * FROM t5 WHERE c5 = 112; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +114 -108 -109 111 112 113 114 115 +SELECT c1 FROM t5; +c1 +101 +102 +108 +109 +110 +111 +112 +113 +114 +115 +116 +SELECT c1 FROM t5 ORDER BY c1 DESC; +c1 +116 +115 +114 +113 +112 +111 +110 +109 +108 +102 +101 +SELECT * FROM t5 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1=1 OR c2=109; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +SELECT c2 FROM t4 GROUP BY c2; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT DISTINCT c2 FROM t4; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; +c2 MIN(c3) +0 0 +101 102 +102 103 +108 109 +109 110 +115 116 +122 123 +32 33 +7 8 +NULL 104 +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t5(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; +ERROR 23000: Duplicate entry '-101' for key 'PRIMARY' +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +ERROR 23000: Duplicate entry '101-106' for key 'PRIMARY' +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; +ERROR 23000: Duplicate entry '101--102' for key 'PRIMARY' +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +ERROR 23000: Duplicate entry '-103' for key 'c3' +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; +ERROR 23000: Duplicate entry '102-103' for key 'idx' +CREATE TABLE t6(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +CREATE TABLE t7(c1 MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t7; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +TRUNCATE TABLE t6; +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +Warnings: +Warning 1048 Column 'c1' cannot be null +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +last_insert_id +7 +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +5 -1 1 1 1 1 1 +6 -2 2 2 2 2 2 +7 -4 4 4 4 4 4 +8 -5 5 5 5 5 5 +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 -2 NULL NULL NULL NULL NULL +DROP TABLE t6,t7,t8; +INSERT INTO t2 SET c3=5,c4=6; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +Warning 1364 Field 'c6' doesn't have a default value +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t2 SET c3=5,c4=6; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +INSERT INTO t1 VALUES(0,-8388608,1,2,3,4,5),(255,-32768,6,7,8,9,10),(65535,-128,11,12,13,14,15),(16777215,8388607,16,17,18,19,20); +INSERT INTO t2 VALUES(0,-8388608,1,2,3,4,5),(255,-32768,6,7,8,9,10),(65535,-128,11,12,13,14,15),(16777215,8388607,16,17,18,19,20); +INSERT INTO t3 VALUES(0,-8388608,1,2,3,4,5),(255,-32768,6,7,8,9,10),(65535,-128,11,12,13,14,15),(16777215,8388607,16,17,18,19,20); +INSERT INTO t4 VALUES(-8388608,0,1,2,3,4,5,5),(-32768,255,6,7,8,9,10,10),(-128,65535,11,12,13,14,15,15),(8388607,16777215,16,17,18,19,20,20); +INSERT INTO t5 VALUES(0,-8388608,1,2,3,4,5,5),(255,-32768,6,7,8,9,10,10),(65535,-128,11,12,13,14,15,15),(16777215,8388607,16,17,18,19,20,20); +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +-128 65535 11 12 13 14 15 15 +-32768 255 6 7 8 9 10 10 +-8388608 0 1 2 3 4 5 5 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +8388607 16777215 16 17 18 19 20 20 +INSERT INTO t1 VALUES(-255,-8388609,26,27,28,29,30),(16777216,8388608,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES(-255,-8388609,26,27,28,29,30),(16777216,8388608,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t3 VALUES(-255,-8388609,26,27,28,29,30),(16777216,8388608,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0 16777215 +SELECT * FROM t2 WHERE c2 = -8388608; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +16777215 34 +255 9 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 34 +16777215 19 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0 16777215 +SELECT * FROM t2 WHERE c2 = 8388607; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +16777215 34 +255 9 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 34 +16777215 19 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0 16777215 +SELECT * FROM t2 WHERE c2 = -8388609; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +16777215 34 +255 9 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 34 +16777215 19 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +21 0 16777215 +SELECT * FROM t2 WHERE c2 = 8388608; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +16777215 34 +255 9 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 34 +16777215 19 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -8388608 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -8388608 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -8388608 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -8388608 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +20 -8388608 8388607 +SELECT * FROM t3 WHERE c1 = 0; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 15 +-32768 10 +-8388608 30 +-8388608 5 +0 21 +0 36 +0 41 +124 26 +124 31 +8388607 20 +8388607 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-8388608 30 +-8388608 5 +-32768 10 +-128 15 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +8388607 35 +8388607 20 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +20 -8388608 8388607 +SELECT * FROM t3 WHERE c1 = 16777215; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 15 +-32768 10 +-8388608 30 +-8388608 5 +0 21 +0 36 +0 41 +124 26 +124 31 +8388607 20 +8388607 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-8388608 30 +-8388608 5 +-32768 10 +-128 15 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +8388607 35 +8388607 20 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -128 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +20 -8388608 8388607 +SELECT * FROM t3 WHERE c1 = -255; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 15 +-32768 10 +-8388608 30 +-8388608 5 +0 21 +0 36 +0 41 +124 26 +124 31 +8388607 20 +8388607 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-8388608 30 +-8388608 5 +-32768 10 +-128 15 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +8388607 35 +8388607 20 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +20 -8388608 8388607 +SELECT * FROM t3 WHERE c1 = 16777216; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 15 +-32768 10 +-8388608 30 +-8388608 5 +0 21 +0 36 +0 41 +124 26 +124 31 +8388607 20 +8388607 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-8388608 30 +-8388608 5 +-32768 10 +-128 15 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +8388607 35 +8388607 20 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +16777215 8388607 16 17 18 19 20 +16777215 8388607 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 1 2 3 4 5 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +255 -32768 6 7 8 9 10 +65535 -128 11 12 13 14 15 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +16777215 8388607 31 32 33 34 35 +16777215 8388607 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -8388608 26 27 28 29 30 +0 -8388608 1 2 3 4 5 +DROP TABLE t1,t2,t3,t4,t5; +CREATE TABLE t1(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t1 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c2` at row 1 +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t3`.`c2` at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +10 0 122 652 65.2000 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +10 -123 124 -202 -22.4444 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +14 0 122 1073 76.6429 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +14 -123 124 -638 -49.0769 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +total_rows min_value max_value sum avg +14 0 122 1056 75.4286 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; +total_rows min_value max_value sum avg +14 -123 124 -613 -47.1538 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT c2 FROM t3 GROUP BY c2; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT DISTINCT c2 FROM t3; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; +c2 MIN(c7) +-102 101 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +124 26 +NULL 106 +CREATE TABLE t4(c1 INT SIGNED NOT NULL AUTO_INCREMENT, c2 INT UNSIGNED NULL, c3 INT UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 MEDIUMINT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 INT UNSIGNED NOT NULL AUTO_INCREMENT, c2 INT SIGNED NULL, c3 INT SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 MEDIUMINT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c2` at row 1 +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c2` at row 1 +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c3` at row 1 +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c3` at row 1 +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +total_rows min_value max_value sum avg +11 -108 106 321 29.1818 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +total_rows min_value max_value sum avg +11 101 116 1211 110.0909 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t5; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +11 101 116 +SELECT * FROM t5 WHERE c5 = 112; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +114 -108 -109 111 112 113 114 115 +SELECT c1 FROM t5; +c1 +101 +102 +108 +109 +110 +111 +112 +113 +114 +115 +116 +SELECT c1 FROM t5 ORDER BY c1 DESC; +c1 +116 +115 +114 +113 +112 +111 +110 +109 +108 +102 +101 +SELECT * FROM t5 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1=1 OR c2=109; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +SELECT c2 FROM t4 GROUP BY c2; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT DISTINCT c2 FROM t4; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; +c2 MIN(c3) +0 0 +101 102 +102 103 +108 109 +109 110 +115 116 +122 123 +32 33 +7 8 +NULL 104 +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t5(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; +ERROR 23000: Duplicate entry '-101' for key 'PRIMARY' +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +ERROR 23000: Duplicate entry '101-106' for key 'PRIMARY' +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; +ERROR 23000: Duplicate entry '101--102' for key 'PRIMARY' +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +ERROR 23000: Duplicate entry '-103' for key 'c3' +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; +ERROR 23000: Duplicate entry '102-103' for key 'idx' +CREATE TABLE t6(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +CREATE TABLE t7(c1 INT UNSIGNED NOT NULL PRIMARY KEY, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t7; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +TRUNCATE TABLE t6; +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +Warnings: +Warning 1048 Column 'c1' cannot be null +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +last_insert_id +7 +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +5 -1 1 1 1 1 1 +6 -2 2 2 2 2 2 +7 -4 4 4 4 4 4 +8 -5 5 5 5 5 5 +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 -2 NULL NULL NULL NULL NULL +DROP TABLE t6,t7,t8; +INSERT INTO t2 SET c3=5,c4=6; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +Warning 1364 Field 'c6' doesn't have a default value +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t2 SET c3=5,c4=6; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +INSERT INTO t1 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t2 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t3 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t4 VALUES(-2147483648,0,1,2,3,4,5,5),(-8388608,255,6,7,8,9,10,10),(-32768,65535,11,12,13,14,15,15),(-128,16777215,16,17,18,19,20,20),(2147483647,4294967295,21,22,23,24,25,25); +INSERT INTO t5 VALUES(0,-2147483648,1,2,3,4,5,5),(255,-8388608,6,7,8,9,10,10),(65535,-32768,11,12,13,14,15,15),(16777215,-128,16,17,18,19,20,20),(4294967295,2147483647,21,22,23,24,25,25); +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +-128 16777215 16 17 18 19 20 20 +-2147483648 0 1 2 3 4 5 5 +-32768 65535 11 12 13 14 15 15 +-8388608 255 6 7 8 9 10 10 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +2147483647 4294967295 21 22 23 24 25 25 +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +INSERT INTO t1 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t3 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = -2147483648; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = 2147483647; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = -2147483649; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = 2147483648; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = 0; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = 4294967295; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = -255; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = 4294967296; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +DROP TABLE t1,t2,t3,t4,t5; +CREATE TABLE t1(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +CREATE TABLE t2(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT, index idx(c2,c7)); +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t1 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c2` at row 1 +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t3`.`c2` at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +10 0 122 652 65.2000 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +10 -123 124 -202 -22.4444 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +14 0 122 1073 76.6429 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +14 -123 124 -638 -49.0769 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +total_rows min_value max_value sum avg +14 0 122 1056 75.4286 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; +total_rows min_value max_value sum avg +14 -123 124 -613 -47.1538 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT c2 FROM t3 GROUP BY c2; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT DISTINCT c2 FROM t3; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; +c2 MIN(c7) +-102 101 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +124 26 +NULL 106 +CREATE TABLE t4(c1 INTEGER SIGNED NOT NULL AUTO_INCREMENT, c2 INTEGER UNSIGNED NULL, c3 INTEGER UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, c2 INTEGER SIGNED NULL, c3 INTEGER SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c2` at row 1 +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c2` at row 1 +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c3` at row 1 +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c3` at row 1 +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +total_rows min_value max_value sum avg +11 -108 106 321 29.1818 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +total_rows min_value max_value sum avg +11 101 116 1211 110.0909 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t5; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +11 101 116 +SELECT * FROM t5 WHERE c5 = 112; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +114 -108 -109 111 112 113 114 115 +SELECT c1 FROM t5; +c1 +101 +102 +108 +109 +110 +111 +112 +113 +114 +115 +116 +SELECT c1 FROM t5 ORDER BY c1 DESC; +c1 +116 +115 +114 +113 +112 +111 +110 +109 +108 +102 +101 +SELECT * FROM t5 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1=1 OR c2=109; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +SELECT c2 FROM t4 GROUP BY c2; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT DISTINCT c2 FROM t4; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; +c2 MIN(c3) +0 0 +101 102 +102 103 +108 109 +109 110 +115 116 +122 123 +32 33 +7 8 +NULL 104 +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t5(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; +ERROR 23000: Duplicate entry '-101' for key 'PRIMARY' +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +ERROR 23000: Duplicate entry '101-106' for key 'PRIMARY' +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; +ERROR 23000: Duplicate entry '101--102' for key 'PRIMARY' +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +ERROR 23000: Duplicate entry '-103' for key 'c3' +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; +ERROR 23000: Duplicate entry '102-103' for key 'idx' +CREATE TABLE t6(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +CREATE TABLE t7(c1 INTEGER UNSIGNED NOT NULL PRIMARY KEY, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +CREATE TABLE t8(c1 INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t7; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +TRUNCATE TABLE t6; +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +Warnings: +Warning 1048 Column 'c1' cannot be null +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +last_insert_id +7 +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +5 -1 1 1 1 1 1 +6 -2 2 2 2 2 2 +7 -4 4 4 4 4 4 +8 -5 5 5 5 5 5 +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 -2 NULL NULL NULL NULL NULL +DROP TABLE t6,t7,t8; +INSERT INTO t2 SET c3=5,c4=6; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +Warning 1364 Field 'c6' doesn't have a default value +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t2 SET c3=5,c4=6; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +INSERT INTO t1 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t2 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t3 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t4 VALUES(-2147483648,0,1,2,3,4,5,5),(-8388608,255,6,7,8,9,10,10),(-32768,65535,11,12,13,14,15,15),(-128,16777215,16,17,18,19,20,20),(2147483647,4294967295,21,22,23,24,25,25); +INSERT INTO t5 VALUES(0,-2147483648,1,2,3,4,5,5),(255,-8388608,6,7,8,9,10,10),(65535,-32768,11,12,13,14,15,15),(16777215,-128,16,17,18,19,20,20),(4294967295,2147483647,21,22,23,24,25,25); +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +-128 16777215 16 17 18 19 20 20 +-2147483648 0 1 2 3 4 5 5 +-32768 65535 11 12 13 14 15 15 +-8388608 255 6 7 8 9 10 10 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +2147483647 4294967295 21 22 23 24 25 25 +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +INSERT INTO t1 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t3 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = -2147483648; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = 2147483647; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = -2147483649; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +22 0 4294967295 +SELECT * FROM t2 WHERE c2 = 2147483648; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 29 +0 30 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +255 9 +4294967295 24 +4294967295 34 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 29 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 34 +4294967295 24 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 -2147483648 26 27 28 29 30 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -2147483648 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 -2147483648 26 27 28 29 30 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -2147483648 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = 0; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = 4294967295; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -128 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = -255; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -128 16 17 18 19 20 +255 -8388608 6 7 8 9 10 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +65535 -32768 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 -2147483648 2147483647 +SELECT * FROM t3 WHERE c1 = 4294967296; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 20 +-2147483648 30 +-2147483648 5 +-32768 15 +-8388608 10 +0 21 +0 36 +0 41 +124 26 +124 31 +2147483647 25 +2147483647 35 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-2147483648 30 +-2147483648 5 +-8388608 10 +-32768 15 +-128 20 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +2147483647 35 +2147483647 25 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +4294967295 2147483647 21 22 23 24 25 +4294967295 2147483647 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 1 2 3 4 5 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +255 -8388608 6 7 8 9 10 +65535 -32768 11 12 13 14 15 +16777215 -128 16 17 18 19 20 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +4294967295 2147483647 31 32 33 34 35 +4294967295 2147483647 21 22 23 24 25 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -2147483648 26 27 28 29 30 +0 -2147483648 1 2 3 4 5 +DROP TABLE t1,t2,t3,t4,t5; +CREATE TABLE t1(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +CREATE TABLE t2(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, index idx(c2,c7)); +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t1 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('','',17,18,19,20,21); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t3`.`c2` at row 1 +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t1`.`c2` at row 1 +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t2`.`c2` at row 1 +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t3`.`c2` at row 1 +SELECT * FROM t1; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +total_rows min_value max_value sum avg +10 0 122 652 65.2000 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +total_rows min_value max_value sum avg +10 -123 124 -202 -22.4444 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +total_rows min_value max_value sum avg +14 0 122 1073 76.6429 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +total_rows min_value max_value sum avg +14 -123 124 -638 -49.0769 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +total_rows min_value max_value sum avg +14 0 122 1056 75.4286 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; +total_rows min_value max_value sum avg +14 -123 124 -613 -47.1538 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +14 0 122 +SELECT * FROM t2 WHERE c2 = 102; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 20 +0 25 +0 30 +0 35 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 30 +0 25 +0 20 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +115 -116 117 118 119 120 121 +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +108 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 124 27 28 29 30 31 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +101 0 37 38 39 40 41 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +14 -123 124 +SELECT * FROM t3 WHERE c1 = 108; +c1 c2 c3 c4 c5 c6 c7 +108 -109 110 111 112 113 114 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +0 36 +0 41 +124 26 +124 31 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +SELECT c2 FROM t3 GROUP BY c2; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT DISTINCT c2 FROM t3; +c2 +-102 +-103 +-104 +-109 +-116 +-123 +0 +124 +NULL +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; +c2 MIN(c7) +-102 101 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +0 21 +124 26 +NULL 106 +CREATE TABLE t4(c1 BIGINT SIGNED NOT NULL AUTO_INCREMENT, c2 BIGINT UNSIGNED NULL, c3 BIGINT UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 INTEGER, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 BIGINT SIGNED NULL, c3 BIGINT SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 INTEGER, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t4`.`c2` at row 1 +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t5`.`c2` at row 1 +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t4`.`c3` at row 1 +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c2` at row 1 +Warning 1366 Incorrect integer value: 'a' for column `test`.`t5`.`c3` at row 1 +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +total_rows min_value max_value sum avg +11 -108 106 321 29.1818 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +total_rows min_value max_value sum avg +11 101 116 1211 110.0909 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +total_rows min_value max(c1) +11 -108 106 +SELECT * FROM t4 WHERE c4 = 104; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +103 101 102 104 105 106 107 108 +SELECT c1 FROM t4; +c1 +-101 +-108 +1 +102 +103 +104 +105 +106 +2 +3 +4 +SELECT c1 FROM t4 ORDER BY c1 DESC; +c1 +106 +105 +104 +103 +102 +4 +3 +2 +1 +-101 +-108 +SELECT * FROM t4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +4 7 8 9 10 11 12 13 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +1 32 33 34 35 36 37 38 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +4 7 8 9 10 11 12 13 +-101 102 103 104 105 106 107 108 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +104 108 109 111 112 113 114 115 +103 101 102 104 105 106 107 108 +102 0 0 37 38 39 40 41 +4 7 8 9 10 11 12 13 +3 0 17 18 19 20 21 22 +2 NULL 104 109 NULL NULL NULL NULL +1 32 33 34 35 36 37 38 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +106 122 123 125 126 127 128 128 +105 115 116 118 119 120 121 122 +SELECT * FROM t5; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +11 101 116 +SELECT * FROM t5 WHERE c5 = 112; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +114 -108 -109 111 112 113 114 115 +SELECT c1 FROM t5; +c1 +101 +102 +108 +109 +110 +111 +112 +113 +114 +115 +116 +SELECT c1 FROM t5 ORDER BY c1 DESC; +c1 +116 +115 +114 +113 +112 +111 +110 +109 +108 +102 +101 +SELECT * FROM t5 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +108 -109 -110 111 112 113 114 115 +109 -32 -32 33 34 35 36 37 +110 0 -104 2 NULL NULL NULL NULL +111 0 -17 18 19 20 21 22 +112 -1 -1 8 9 10 11 12 +113 -101 -102 104 105 106 107 108 +114 -108 -109 111 112 113 114 115 +115 -115 -116 118 119 120 121 122 +116 -122 -123 125 126 127 128 128 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +101 -102 -103 -104 105 106 107 108 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +109 -32 -32 33 34 35 36 37 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +112 -1 -1 8 9 10 11 12 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +114 -108 -109 111 112 113 114 115 +113 -101 -102 104 105 106 107 108 +112 -1 -1 8 9 10 11 12 +111 0 -17 18 19 20 21 22 +110 0 -104 2 NULL NULL NULL NULL +109 -32 -32 33 34 35 36 37 +108 -109 -110 111 112 113 114 115 +102 0 0 37 38 39 40 41 +101 -102 -103 -104 105 106 107 108 +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 c8 +116 -122 -123 125 126 127 128 128 +115 -115 -116 118 119 120 121 122 +SELECT * FROM t4 WHERE c1=1 OR c2=109; +c1 c2 c3 c4 c5 c6 c7 c8 +-108 109 110 111 112 113 114 115 +1 32 33 34 35 36 37 38 +SELECT c2 FROM t4 GROUP BY c2; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT DISTINCT c2 FROM t4; +c2 +0 +101 +102 +108 +109 +115 +122 +32 +7 +NULL +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; +c2 MIN(c3) +0 0 +101 102 +102 103 +108 109 +109 110 +115 116 +122 123 +32 33 +7 8 +NULL 104 +INSERT INTO t2(c1) VALUES(NULL); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +ERROR 23000: Column 'c1' cannot be null +INSERT INTO t4(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t5(c3) VALUES(NULL); +ERROR 23000: Column 'c3' cannot be null +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; +ERROR 23000: Duplicate entry '-101' for key 'PRIMARY' +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +ERROR 23000: Duplicate entry '101-106' for key 'PRIMARY' +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; +ERROR 23000: Duplicate entry '101--102' for key 'PRIMARY' +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +ERROR 23000: Duplicate entry '-103' for key 'c3' +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; +ERROR 23000: Duplicate entry '102-103' for key 'idx' +CREATE TABLE t6(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +SELECT * FROM t6; +c1 c2 c3 c4 c5 c6 c7 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +TRUNCATE TABLE t6; +CREATE TABLE t7(c1 BIGINT UNSIGNED NOT NULL PRIMARY KEY, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +CREATE TABLE t8(c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t7; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +TRUNCATE TABLE t6; +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +Warnings: +Warning 1048 Column 'c1' cannot be null +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +last_insert_id +7 +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 NULL NULL NULL NULL NULL NULL +5 -1 1 1 1 1 1 +6 -2 2 2 2 2 2 +7 -4 4 4 4 4 4 +8 -5 5 5 5 5 5 +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +SELECT * FROM t8; +c1 c2 c3 c4 c5 c6 c7 +1 -2 NULL NULL NULL NULL NULL +DROP TABLE t6,t7,t8; +INSERT INTO t2 SET c3=5,c4=6; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +Warning 1364 Field 'c6' doesn't have a default value +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t2 SET c3=5,c4=6; +ERROR HY000: Field 'c1' doesn't have a default value +SET SQL_MODE=''; +INSERT INTO t1 VALUES(0,-9223372036854775808,1,2,3,4,5),(255,-2147483648,6,7,8,9,10),(65535,-8388608,11,12,13,14,15),(16777215,-32768,16,17,18,19,20),(4294967295,-128,21,22,23,24,25),(18446744073709551615,9223372036854775807,26,27,28,29,30); +INSERT INTO t2 VALUES(0,-9223372036854775808,1,2,3,4,5),(255,-2147483648,6,7,8,9,10),(65535,-8388608,11,12,13,14,15),(16777215,-32768,16,17,18,19,20),(4294967295,-128,21,22,23,24,25),(18446744073709551615,9223372036854775807,26,27,28,29,30); +INSERT INTO t3 VALUES(0,-9223372036854775808,1,2,3,4,5),(255,-2147483648,6,7,8,9,10),(65535,-8388608,11,12,13,14,15),(16777215,-32768,16,17,18,19,20),(4294967295,-128,21,22,23,24,25),(18446744073709551615,9223372036854775807,26,27,28,29,30); +INSERT INTO t4 VALUES(-9223372036854775808,0,1,2,3,4,5,5),(-2147483648,255,6,7,8,9,10,10),(-8388608,65535,11,12,13,14,15,15),(-32768,16777215,16,17,18,19,20,20),(-128,4294967295,21,22,23,24,25,25),(9223372036854775807,18446744073709551615,26,27,28,29,30,30); +INSERT INTO t5 VALUES(0,-9223372036854775808,1,2,3,4,5,5),(255,-2147483648,6,7,8,9,10,10),(65535,-8388608,11,12,13,14,15,15),(16777215,-32768,16,17,18,19,20,20),(4294967295,-128,21,22,23,24,25,25),(18446744073709551615,9223372036854775807,26,27,28,29,30,30); +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +ERROR 22003: Out of range value for column 'c1' at row 1 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +ERROR HY000: Failed to read auto-increment value from storage engine +SELECT * FROM t4; +c1 c2 c3 c4 c5 c6 c7 c8 +-101 102 103 104 105 106 107 108 +-108 109 110 111 112 113 114 115 +-128 4294967295 21 22 23 24 25 25 +-2147483648 255 6 7 8 9 10 10 +-32768 16777215 16 17 18 19 20 20 +-8388608 65535 11 12 13 14 15 15 +-9223372036854775808 0 1 2 3 4 5 5 +1 32 33 34 35 36 37 38 +102 0 0 37 38 39 40 41 +103 101 102 104 105 106 107 108 +104 108 109 111 112 113 114 115 +105 115 116 118 119 120 121 122 +106 122 123 125 126 127 128 128 +2 NULL 104 109 NULL NULL NULL NULL +3 0 17 18 19 20 21 22 +4 7 8 9 10 11 12 13 +9223372036854775807 18446744073709551615 26 27 28 29 30 30 +INSERT INTO t1 VALUES(-128,-9223372036854775809,31,32,33,34,35),(18446744073709551616,9223372036854775808,36,37,38,39,40); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES(-128,-9223372036854775809,31,32,33,34,35),(18446744073709551616,9223372036854775808,36,37,38,39,40); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t3 VALUES(-128,-9223372036854775809,31,32,33,34,35),(18446744073709551616,9223372036854775808,36,37,38,39,40); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +23 0 18446744073709551615 +SELECT * FROM t2 WHERE c2 = -9223372036854775808; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 30 +0 34 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +18446744073709551615 29 +18446744073709551615 39 +255 9 +4294967295 24 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 34 +0 30 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 24 +18446744073709551615 39 +18446744073709551615 29 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +23 0 18446744073709551615 +SELECT * FROM t2 WHERE c2 = 9223372036854775807; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 30 +0 34 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +18446744073709551615 29 +18446744073709551615 39 +255 9 +4294967295 24 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 34 +0 30 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 24 +18446744073709551615 39 +18446744073709551615 29 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +23 0 18446744073709551615 +SELECT * FROM t2 WHERE c2 = -9223372036854775809; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 30 +0 34 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +18446744073709551615 29 +18446744073709551615 39 +255 9 +4294967295 24 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 34 +0 30 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 24 +18446744073709551615 39 +18446744073709551615 29 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +23 0 18446744073709551615 +SELECT * FROM t2 WHERE c2 = 9223372036854775808; +c1 c2 c3 c4 c5 c6 c7 +SELECT c1,c6 FROM t2; +c1 c6 +0 0 +0 20 +0 25 +0 30 +0 34 +0 35 +0 4 +101 106 +101 40 +102 113 +103 113 +105 105 +108 101 +108 102 +108 113 +115 120 +122 127 +16777215 19 +18446744073709551615 29 +18446744073709551615 39 +255 9 +4294967295 24 +65535 14 +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; +c1 c6 +0 35 +0 34 +0 30 +0 25 +0 20 +0 4 +0 0 +101 106 +101 40 +102 113 +103 113 +105 105 +108 113 +108 102 +108 101 +115 120 +122 127 +255 9 +65535 14 +16777215 19 +4294967295 24 +18446744073709551615 39 +18446744073709551615 29 +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +0 0 17 18 19 20 21 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +0 -9223372036854775808 31 32 33 34 35 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +101 -102 103 104 105 106 107 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 101 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 NULL 5 6 NULL 0 NULL +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +0 0 17 18 19 20 21 +0 -9223372036854775808 1 2 3 4 5 +0 NULL 5 6 NULL 0 NULL +101 -102 103 104 105 106 107 +101 0 37 38 39 40 41 +102 -109 110 111 112 113 114 +103 -109 110 111 112 113 114 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +108 -109 110 111 112 102 114 +108 -109 110 111 112 101 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 0 32 32 34 35 36 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 -9223372036854775808 9223372036854775807 +SELECT * FROM t3 WHERE c1 = 0; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 25 +-2147483648 10 +-32768 20 +-8388608 15 +-9223372036854775808 35 +-9223372036854775808 5 +0 21 +0 36 +0 41 +124 26 +124 31 +9223372036854775807 30 +9223372036854775807 40 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-9223372036854775808 35 +-9223372036854775808 5 +-2147483648 10 +-8388608 15 +-32768 20 +-128 25 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +9223372036854775807 40 +9223372036854775807 30 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 -9223372036854775808 9223372036854775807 +SELECT * FROM t3 WHERE c1 = 18446744073709551615; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 25 +-2147483648 10 +-32768 20 +-8388608 15 +-9223372036854775808 35 +-9223372036854775808 5 +0 21 +0 36 +0 41 +124 26 +124 31 +9223372036854775807 30 +9223372036854775807 40 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-9223372036854775808 35 +-9223372036854775808 5 +-2147483648 10 +-8388608 15 +-32768 20 +-128 25 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +9223372036854775807 40 +9223372036854775807 30 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +16777215 -32768 16 17 18 19 20 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 -9223372036854775808 9223372036854775807 +SELECT * FROM t3 WHERE c1 = -128; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 25 +-2147483648 10 +-32768 20 +-8388608 15 +-9223372036854775808 35 +-9223372036854775808 5 +0 21 +0 36 +0 41 +124 26 +124 31 +9223372036854775807 30 +9223372036854775807 40 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-9223372036854775808 35 +-9223372036854775808 5 +-2147483648 10 +-8388608 15 +-32768 20 +-128 25 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +9223372036854775807 40 +9223372036854775807 30 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -104 103 104 105 106 107 +101 0 37 38 39 40 41 +105 NULL 102 103 104 105 106 +108 -109 110 111 112 113 114 +115 -116 117 118 119 120 121 +122 -123 124 125 126 127 128 +16777215 -32768 16 17 18 19 20 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +255 -2147483648 6 7 8 9 10 +4294967295 -128 21 22 23 24 25 +65535 -8388608 11 12 13 14 15 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +22 -9223372036854775808 9223372036854775807 +SELECT * FROM t3 WHERE c1 = 18446744073709551616; +c1 c2 c3 c4 c5 c6 c7 +SELECT c2,c7 FROM t3; +c2 c7 +-102 101 +-102 102 +-102 107 +-103 107 +-104 107 +-109 114 +-116 121 +-123 128 +-128 25 +-2147483648 10 +-32768 20 +-8388608 15 +-9223372036854775808 35 +-9223372036854775808 5 +0 21 +0 36 +0 41 +124 26 +124 31 +9223372036854775807 30 +9223372036854775807 40 +NULL 106 +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; +c2 c7 +NULL 106 +-9223372036854775808 35 +-9223372036854775808 5 +-2147483648 10 +-8388608 15 +-32768 20 +-128 25 +-123 128 +-116 121 +-109 114 +-104 107 +-103 107 +-102 107 +-102 102 +-102 101 +0 41 +0 36 +0 21 +124 31 +124 26 +9223372036854775807 40 +9223372036854775807 30 +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 101 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 107 +0 0 17 18 19 20 21 +0 0 32 32 34 35 36 +101 0 37 38 39 40 41 +0 124 22 23 24 25 26 +0 124 27 28 29 30 31 +18446744073709551615 9223372036854775807 26 27 28 29 30 +18446744073709551615 9223372036854775807 36 37 38 39 40 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 1 2 3 4 5 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +105 NULL 102 103 104 105 106 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +255 -2147483648 6 7 8 9 10 +65535 -8388608 11 12 13 14 15 +16777215 -32768 16 17 18 19 20 +4294967295 -128 21 22 23 24 25 +122 -123 124 125 126 127 128 +115 -116 117 118 119 120 121 +108 -109 110 111 112 113 114 +101 -104 103 104 105 106 107 +101 -103 103 104 105 106 107 +101 -102 103 104 105 106 107 +101 -102 103 104 105 106 102 +101 -102 103 104 105 106 101 +101 0 37 38 39 40 41 +0 0 32 32 34 35 36 +0 0 17 18 19 20 21 +0 124 27 28 29 30 31 +0 124 22 23 24 25 26 +18446744073709551615 9223372036854775807 36 37 38 39 40 +18446744073709551615 9223372036854775807 26 27 28 29 30 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +c1 c2 c3 c4 c5 c6 c7 +0 -9223372036854775808 31 32 33 34 35 +0 -9223372036854775808 1 2 3 4 5 +DROP TABLE t1,t2,t3,t4,t5; diff --git a/mysql-test/suite/engines/iuds/r/insert_time.result b/mysql-test/suite/engines/iuds/r/insert_time.result new file mode 100644 index 00000000..fdda49a3 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/insert_time.result @@ -0,0 +1,5190 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE); +INSERT INTO t1 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t2 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t3 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t4 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t1 VALUES('101112','101112','2009-01-11'); +INSERT INTO t2 VALUES('101112','101112','2009-01-11'); +INSERT INTO t3 VALUES('101112','101112','2009-01-11'); +INSERT INTO t4 VALUES('101112','101112','2009-01-11'); +INSERT INTO t1 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +INSERT INTO t2 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +INSERT INTO t3 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +INSERT INTO t4 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +SET TIMESTAMP=1233216687; +INSERT INTO t1 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t2 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t3 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t4 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t1 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +INSERT INTO t2 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +INSERT INTO t3 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +INSERT INTO t4 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('-850:00:00','-850:00:00','2009-01-21'); +ERROR 23000: Duplicate entry '-838:59:59' for key 'PRIMARY' +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('850:00:00','850:00:00','2009-01-21'); +ERROR 23000: Duplicate entry '838:59:59' for key 'PRIMARY' +DELETE FROM t1 WHERE c1='-838:59:59' AND c2='-838:59:59'; +DELETE FROM t1 WHERE c1='838:59:59' AND c2='838:59:59'; +INSERT IGNORE INTO t1 VALUES('-850:00:00','-850:00:00','2009-01-21'),('850:00:00','850:00:00','2009-01-21'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT IGNORE INTO t4 VALUES('10.22.22','10.22.22','2009-01-26'),(1234567,1234567,'2009-01-27'),(123456789,123456789,'2009-01-28'),(123456789.10,123456789.10,'2009-01-29'),('10 22:22','10 22:22','2009-01-30'),('12.45a','12.45a','2009-01-31'); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Warning 1265 Data truncated for column 'c1' at row 2 +Warning 1265 Data truncated for column 'c2' at row 2 +Warning 1265 Data truncated for column 'c1' at row 3 +Warning 1265 Data truncated for column 'c2' at row 3 +Warning 1265 Data truncated for column 'c1' at row 4 +Warning 1265 Data truncated for column 'c2' at row 4 +Warning 1265 Data truncated for column 'c1' at row 6 +Warning 1265 Data truncated for column 'c2' at row 6 +INSERT INTO t1 VALUES('8:29:45',NULL,'2009-02-01'); +INSERT INTO t3 VALUES('8:29:45',NULL,'2009-02-01'); +INSERT INTO t4 VALUES('8:29:45',NULL,'2009-02-01'); +INSERT INTO t1(c1,c2) VALUES('9:30',NULL); +DELETE FROM t1 WHERE c1='9:30' AND c2 IS NULL; +SELECT * FROM t1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t4; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:00 00:00:00 2009-01-27 +00:00:00 00:00:00 2009-01-28 +00:00:00 00:00:00 2009-01-29 +00:00:10 00:00:10 2009-01-26 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:12 00:00:12 2009-01-31 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +262:22:00 262:22:00 2009-01-30 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +24 -838:59:59 838:59:59 +SELECT * FROM t1 WHERE c3 = '2009-01-17'; +c1 c2 c3 +11:11:27 11:11:27 2009-01-17 +SELECT c1 FROM t1; +c1 +-838:59:59 +00:00:00 +00:00:11 +00:00:12 +00:00:45 +00:11:12 +00:12:30 +00:12:34 +01:23:00 +08:03:02 +08:29:45 +09:00:45 +09:36:00 +10:00:00 +10:11:12 +10:22:33 +11:11:12 +11:11:27 +12:34:56 +12:34:58 +12:35:56 +491:22:33 +825:23:00 +838:59:59 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +838:59:59 +825:23:00 +491:22:33 +12:35:56 +12:34:58 +12:34:56 +11:11:27 +11:11:12 +10:22:33 +10:11:12 +10:00:00 +09:36:00 +09:00:45 +08:29:45 +08:03:02 +01:23:00 +00:12:34 +00:12:30 +00:11:12 +00:00:45 +00:00:12 +00:00:11 +00:00:00 +-838:59:59 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1 LIMIT 2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1 DESC; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +total_rows min_value max(c1) +24 -838:59:59 838:59:59 +SELECT * FROM t1 WHERE c3 = '2009-01-16'; +c1 c2 c3 +12:35:56 12:35:56 2009-01-16 +SELECT c1 FROM t1; +c1 +-838:59:59 +00:00:00 +00:00:11 +00:00:12 +00:00:45 +00:11:12 +00:12:30 +00:12:34 +01:23:00 +08:03:02 +08:29:45 +09:00:45 +09:36:00 +10:00:00 +10:11:12 +10:22:33 +11:11:12 +11:11:27 +12:34:56 +12:34:58 +12:35:56 +491:22:33 +825:23:00 +838:59:59 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +838:59:59 +825:23:00 +491:22:33 +12:35:56 +12:34:58 +12:34:56 +11:11:27 +11:11:12 +10:22:33 +10:11:12 +10:00:00 +09:36:00 +09:00:45 +08:29:45 +08:03:02 +01:23:00 +00:12:34 +00:12:30 +00:11:12 +00:00:45 +00:00:12 +00:00:11 +00:00:00 +-838:59:59 +SELECT * FROM t1 ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1 LIMIT 2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1 DESC; +c1 c2 c3 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1 DESC; +c1 c2 c3 +09:36:00 09:36:00 2009-01-25 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +09:36:00 09:36:00 2009-01-25 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1 DESC; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:29:45 NULL 2009-02-01 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +24 -838:59:59 838:59:59 +SELECT * FROM t1 WHERE c3 = '2009-01-15'; +c1 c2 c3 +12:34:58 12:34:58 2009-01-15 +SELECT c2 FROM t1; +c2 +-838:59:59 +00:00:00 +00:00:11 +00:00:12 +00:00:45 +00:11:12 +00:12:30 +00:12:34 +01:23:00 +08:03:02 +09:00:45 +09:36:00 +10:00:00 +10:11:12 +10:22:33 +11:11:12 +11:11:27 +12:34:56 +12:34:58 +12:35:56 +491:22:33 +825:23:00 +838:59:59 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +838:59:59 +825:23:00 +491:22:33 +12:35:56 +12:34:58 +12:34:56 +11:11:27 +11:11:12 +10:22:33 +10:11:12 +10:00:00 +09:36:00 +09:00:45 +08:03:02 +01:23:00 +00:12:34 +00:12:30 +00:11:12 +00:00:45 +00:00:12 +00:00:11 +00:00:00 +-838:59:59 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2 LIMIT 2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2 DESC; +c1 c2 c3 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2 DESC; +c1 c2 c3 +10:00:00 10:00:00 2009-01-06 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +10:00:00 10:00:00 2009-01-06 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2 DESC; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +total_rows min_value max(c2) +24 -838:59:59 838:59:59 +SELECT * FROM t1 WHERE c3 = '2009-01-11'; +c1 c2 c3 +10:11:12 10:11:12 2009-01-11 +SELECT c2 FROM t1; +c2 +-838:59:59 +00:00:00 +00:00:11 +00:00:12 +00:00:45 +00:11:12 +00:12:30 +00:12:34 +01:23:00 +08:03:02 +09:00:45 +09:36:00 +10:00:00 +10:11:12 +10:22:33 +11:11:12 +11:11:27 +12:34:56 +12:34:58 +12:35:56 +491:22:33 +825:23:00 +838:59:59 +NULL +SELECT c2 FROM t1 ORDER BY c2 DESC; +c2 +838:59:59 +825:23:00 +491:22:33 +12:35:56 +12:34:58 +12:34:56 +11:11:27 +11:11:12 +10:22:33 +10:11:12 +10:00:00 +09:36:00 +09:00:45 +08:03:02 +01:23:00 +00:12:34 +00:12:30 +00:11:12 +00:00:45 +00:00:12 +00:00:11 +00:00:00 +-838:59:59 +NULL +SELECT * FROM t1 ORDER BY c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 LIMIT 2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 DESC; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 DESC; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +491:22:33 491:22:33 2009-01-04 +12:35:56 12:35:56 2009-01-16 +12:34:58 12:34:58 2009-01-15 +12:34:56 12:34:56 2009-01-01 +11:11:27 11:11:27 2009-01-17 +11:11:12 11:11:12 2009-01-12 +10:22:33 10:22:33 2009-01-02 +10:11:12 10:11:12 2009-01-11 +10:00:00 10:00:00 2009-01-06 +09:36:00 09:36:00 2009-01-25 +09:00:45 09:00:45 2009-01-24 +08:03:02 08:03:02 2009-01-18 +01:23:00 01:23:00 2009-01-03 +00:12:34 00:12:34 2009-01-14 +00:12:30 00:12:30 2009-01-23 +00:11:12 00:11:12 2009-01-19 +00:00:45 00:00:45 2009-01-07 +00:00:12 00:00:12 2009-01-13 +00:00:11 00:00:11 2009-01-20 +00:00:00 00:00:00 2009-01-09 +-838:59:59 -838:59:59 2009-01-21 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-21 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t1 WHERE c1='838:59:59' OR c2='-838:59:59'; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-21 +838:59:59 838:59:59 2009-01-21 +SELECT * FROM t2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +23 -838:59:59 838:59:59 +SELECT * FROM t2 WHERE c3 = '2009-01-17'; +c1 c2 c3 +11:11:27 11:11:27 2009-01-17 +SELECT c1,c2 FROM t2; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +23 -838:59:59 838:59:59 +SELECT * FROM t2 WHERE c3 = '2009-01-16'; +c1 c2 c3 +12:35:56 12:35:56 2009-01-16 +SELECT c1,c2 FROM t2; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +23 -838:59:59 838:59:59 +SELECT * FROM t2 WHERE c3 = '2009-01-15'; +c1 c2 c3 +12:34:58 12:34:58 2009-01-15 +SELECT c1,c2 FROM t2; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +23 -838:59:59 838:59:59 +SELECT * FROM t2 WHERE c3 = '2009-01-11'; +c1 c2 c3 +10:11:12 10:11:12 2009-01-11 +SELECT c1,c2 FROM t2; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +24 -838:59:59 838:59:59 +SELECT * FROM t3 WHERE c3 = '2009-01-17'; +c1 c2 c3 +11:11:27 11:11:27 2009-01-17 +SELECT c1,c2 FROM t3; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +11:11:12 11:11:12 2009-01-12 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +24 -838:59:59 838:59:59 +SELECT * FROM t3 WHERE c3 = '2009-01-16'; +c1 c2 c3 +12:35:56 12:35:56 2009-01-16 +SELECT c1,c2 FROM t3; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +09:36:00 09:36:00 2009-01-25 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +01:23:00 01:23:00 2009-01-03 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +24 -838:59:59 838:59:59 +SELECT * FROM t3 WHERE c3 = '2009-01-15'; +c1 c2 c3 +12:34:58 12:34:58 2009-01-15 +SELECT c1,c2 FROM t3; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +10:00:00 10:00:00 2009-01-06 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +00:11:12 00:11:12 2009-01-19 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +08:29:45 NULL 2009-02-01 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +24 -838:59:59 838:59:59 +SELECT * FROM t3 WHERE c3 = '2009-01-11'; +c1 c2 c3 +10:11:12 10:11:12 2009-01-11 +SELECT c1,c2 FROM t3; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +10:22:33 10:22:33 2009-01-02 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +08:29:45 NULL 2009-02-01 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +00:00:11 00:00:11 2009-01-20 +00:00:12 00:00:12 2009-01-13 +00:00:45 00:00:45 2009-01-07 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +00:12:34 00:12:34 2009-01-14 +01:23:00 01:23:00 2009-01-03 +08:03:02 08:03:02 2009-01-18 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +10:00:00 10:00:00 2009-01-06 +10:11:12 10:11:12 2009-01-11 +10:22:33 10:22:33 2009-01-02 +11:11:12 11:11:12 2009-01-12 +11:11:27 11:11:27 2009-01-17 +12:34:56 12:34:56 2009-01-01 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +838:59:59 838:59:59 2009-01-10 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +SELECT c1 FROM t3 GROUP BY c1; +c1 +-838:59:59 +00:00:00 +00:00:11 +00:00:12 +00:00:45 +00:11:12 +00:12:30 +00:12:34 +01:23:00 +08:03:02 +08:29:45 +09:00:45 +09:36:00 +10:00:00 +10:11:12 +10:22:33 +11:11:12 +11:11:27 +12:34:56 +12:34:58 +12:35:56 +491:22:33 +825:23:00 +838:59:59 +SELECT DISTINCT c1 FROM t3; +c1 +-838:59:59 +00:00:00 +00:00:11 +00:00:12 +00:00:45 +00:11:12 +00:12:30 +00:12:34 +01:23:00 +08:03:02 +08:29:45 +09:00:45 +09:36:00 +10:00:00 +10:11:12 +10:22:33 +11:11:12 +11:11:27 +12:34:56 +12:34:58 +12:35:56 +491:22:33 +825:23:00 +838:59:59 +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +c1 MIN(c2) +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:45 00:00:45 +00:11:12 00:11:12 +00:12:30 00:12:30 +00:12:34 00:12:34 +01:23:00 01:23:00 +08:03:02 08:03:02 +08:29:45 NULL +09:00:45 09:00:45 +09:36:00 09:36:00 +10:00:00 10:00:00 +10:11:12 10:11:12 +10:22:33 10:22:33 +11:11:12 11:11:12 +11:11:27 11:11:27 +12:34:56 12:34:56 +12:34:58 12:34:58 +12:35:56 12:35:56 +491:22:33 491:22:33 +825:23:00 825:23:00 +838:59:59 838:59:59 +SELECT CAST(235959.123456 AS TIME); +CAST(235959.123456 AS TIME) +23:59:59 +SELECT CAST(0.235959123456e+6 AS TIME); +CAST(0.235959123456e+6 AS TIME) +23:59:59 +SELECT CAST(235959123456e-6 AS TIME); +CAST(235959123456e-6 AS TIME) +23:59:59 +SELECT CAST(235959.1234567 AS TIME); +CAST(235959.1234567 AS TIME) +23:59:59 +SELECT CAST(0.2359591234567e6 AS TIME); +CAST(0.2359591234567e6 AS TIME) +23:59:59 +SELECT CAST(0.2359591234567e+30 AS TIME); +CAST(0.2359591234567e+30 AS TIME) +838:59:59 +Warnings: +Warning 1292 Truncated incorrect time value: '2.359591234567e29' +select cast('100:55:50' as time) < cast('24:00:00' as time); +cast('100:55:50' as time) < cast('24:00:00' as time) +0 +select cast('100:55:50' as time) < cast('024:00:00' as time); +cast('100:55:50' as time) < cast('024:00:00' as time) +0 +select cast('300:55:50' as time) < cast('240:00:00' as time); +cast('300:55:50' as time) < cast('240:00:00' as time) +0 +select cast('100:55:50' as time) > cast('24:00:00' as time); +cast('100:55:50' as time) > cast('24:00:00' as time) +1 +select cast('100:55:50' as time) > cast('024:00:00' as time); +cast('100:55:50' as time) > cast('024:00:00' as time) +1 +select cast('300:55:50' as time) > cast('240:00:00' as time); +cast('300:55:50' as time) > cast('240:00:00' as time) +1 +create table t5 (f1 time); +insert into t5 values ('24:00:00'); +select cast('24:00:00' as time) = (select f1 from t5); +cast('24:00:00' as time) = (select f1 from t5) +1 +drop table t5; +INSERT INTO t1(c1,c2) VALUES('10:22:33','10:22:34') /* throws error as row exists with c1='10:22:33' */; +ERROR 23000: Duplicate entry '10:22:33' for key 'PRIMARY' +INSERT INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') /* throws error as row exists with c1='12:34:56.78',c2='12:34:56.78' */; +ERROR 23000: Duplicate entry '12:34:56-12:34:56' for key 'PRIMARY' +INSERT INTO t1(c1,c2) VALUES('10:22:34','34 9:23') /* throws error as row exists with c2='34 9:23' */; +ERROR 23000: Duplicate entry '825:23:00' for key 'c2' +INSERT INTO t3(c1,c2) VALUES('34 9:23','34 9:23') /* throws error as row exists with c1='34 9:23',c2='34 9:23' */; +ERROR 23000: Duplicate entry '825:23:00-825:23:00' for key 'idx' +INSERT IGNORE INTO t1(c1,c2) VALUES('10:22:33','10:22:34') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') /*doesn't throw error */; +Warnings: +Warning 1062 Duplicate entry '12:34:56-12:34:56' for key 'PRIMARY' +INSERT IGNORE INTO t1(c1,c2) VALUES('10:22:34','34 9:23') /*doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES('34 9:23','34 9:23') /*doesn't throw error */; +Warnings: +Warning 1062 Duplicate entry '825:23:00-825:23:00' for key 'idx' +SELECT * FROM t1 WHERE c1='10:23:33' /* no rows */; +c1 c2 c3 +INSERT INTO t1(c1) VALUES('10:22:33') ON DUPLICATE KEY UPDATE c1='10:23:33'; +SELECT * FROM t1 WHERE c1='10:23:33' /* 1 row */; +c1 c2 c3 +10:23:33 10:22:33 2009-01-02 +SELECT * FROM t2 WHERE c1='12:34:56.79' AND c2='12:34:57.78' /* no rows */; +c1 c2 c3 +INSERT INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') ON DUPLICATE KEY UPDATE c1='12:34:56.79',c2='12:34:57.78'; +SELECT * FROM t2 WHERE c1='12:34:56.79' AND c2='12:34:57.78' /* 1 row */; +c1 c2 c3 +SELECT * FROM t1 WHERE c1='10:22:35' AND c2='33 9:23' /* no rows */; +c1 c2 c3 +INSERT INTO t1(c1,c2) VALUES('10:22:34','34 9:23') ON DUPLICATE KEY UPDATE c1='10:22:35',c2='33 9:23'; +SELECT * FROM t1 WHERE c1='10:22:35' AND c2='33 9:23' /* 1 row */; +c1 c2 c3 +10:22:35 801:23:00 2009-01-05 +SELECT * FROM t3 WHERE c1='32 9:23' AND c2='33 9:23' /* no rows */; +c1 c2 c3 +INSERT INTO t3(c1,c2) VALUES('34 9:23','34 9:23') ON DUPLICATE KEY UPDATE c1='32 9:23',c2='33 9:23'; +SELECT * FROM t3 WHERE c1='32 9:23' AND c2='33 9:23' /* 1 row */; +c1 c2 c3 +777:23:00 801:23:00 2009-01-05 +INSERT INTO t1 SET c1='07:23:55',c2='13 06:23:55'; +INSERT INTO t2 SET c1='07:23:55',c2='13 06:23:55'; +INSERT INTO t3 SET c1='07:23:55'; +INSERT IGNORE INTO t4 SET c2='07:23:55'; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +SELECT * FROM t1 WHERE c1='07:23:55' AND c2='13 06:23:55' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 +07:23:55 318:23:55 NULL +SELECT * FROM t2 WHERE c1='07:23:55' AND c2='13 06:23:55' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 +07:23:55 318:23:55 NULL +SELECT * FROM t3 WHERE c1='07:23:55' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 +07:23:55 NULL NULL +SELECT * FROM t4 WHERE c2='07:23:55' /* Returns 1 row with values for other column as NULL */; +c1 c2 c3 +00:00:00 07:23:55 NULL +CREATE TABLE t5(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t4; +SELECT * FROM t5; +c1 c2 c3 +12:34:56 12:34:56 2009-01-01 +10:22:33 10:22:33 2009-01-02 +01:23:00 01:23:00 2009-01-03 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +10:00:00 10:00:00 2009-01-06 +00:00:45 00:00:45 2009-01-07 +-838:59:59 -838:59:59 2009-01-08 +00:00:00 00:00:00 2009-01-09 +838:59:59 838:59:59 2009-01-10 +10:11:12 10:11:12 2009-01-11 +11:11:12 11:11:12 2009-01-12 +00:00:12 00:00:12 2009-01-13 +00:12:34 00:12:34 2009-01-14 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +11:11:27 11:11:27 2009-01-17 +08:03:02 08:03:02 2009-01-18 +00:11:12 00:11:12 2009-01-19 +00:00:11 00:00:11 2009-01-20 +00:12:30 00:12:30 2009-01-23 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +00:00:10 00:00:10 2009-01-26 +00:00:00 00:00:00 2009-01-27 +00:00:00 00:00:00 2009-01-28 +00:00:00 00:00:00 2009-01-29 +262:22:00 262:22:00 2009-01-30 +00:00:12 00:00:12 2009-01-31 +08:29:45 NULL 2009-02-01 +00:00:00 07:23:55 NULL +TRUNCATE TABLE t5; +INSERT IGNORE INTO t5 SELECT * FROM t4 WHERE c1 >='12colon34colon56'; +Warnings: +Warning 1292 Truncated incorrect time value: '12colon34colon56' +SELECT * FROM t5; +c1 c2 c3 +12:34:56 12:34:56 2009-01-01 +10:22:33 10:22:33 2009-01-02 +01:23:00 01:23:00 2009-01-03 +491:22:33 491:22:33 2009-01-04 +825:23:00 825:23:00 2009-01-05 +10:00:00 10:00:00 2009-01-06 +00:00:45 00:00:45 2009-01-07 +838:59:59 838:59:59 2009-01-10 +10:11:12 10:11:12 2009-01-11 +11:11:12 11:11:12 2009-01-12 +00:00:12 00:00:12 2009-01-13 +00:12:34 00:12:34 2009-01-14 +12:34:58 12:34:58 2009-01-15 +12:35:56 12:35:56 2009-01-16 +11:11:27 11:11:27 2009-01-17 +08:03:02 08:03:02 2009-01-18 +00:11:12 00:11:12 2009-01-19 +00:12:30 00:12:30 2009-01-23 +09:00:45 09:00:45 2009-01-24 +09:36:00 09:36:00 2009-01-25 +262:22:00 262:22:00 2009-01-30 +00:00:12 00:00:12 2009-01-31 +08:29:45 NULL 2009-02-01 +TRUNCATE TABLE t5; +DROP TABLE t5; +DROP TABLE t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/insert_year.result b/mysql-test/suite/engines/iuds/r/insert_year.result new file mode 100644 index 00000000..8065f606 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/insert_year.result @@ -0,0 +1,6247 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME); +INSERT INTO t1 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t2 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t3 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t4 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-25','98.12.25 11:30:45'); +INSERT INTO t4 VALUES(1901,1901,'98-12-24','98.12.24 11:30:45'),(1999,1999,'98-12-23','98.12.23 11:30:45'),(2000,2000,'98-12-22','98.12.22 11:30:45'),(2001,2001,'98-12-21','98.12.21 11:30:45'),(2099,2099,'98-12-20','98.12.20 11:30:45'),(2100,2100,'98-12-19','98.12.19 11:30:45'),(2155,2155,'98-12-18','98.12.18 11:30:45'); +INSERT INTO t1 VALUES('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'); +INSERT INTO t2 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t3 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t4 VALUES('00','00','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','99','98-12-10','98.12.10 11:30:45'); +INSERT INTO t4 VALUES(1,1,'98-12-9','98.12.9 11:30:45'),(20,20,'98-12-8','98.12.8 11:30:45'),(40,40,'98-12-7','98.12.7 11:30:45'),(60,60,'98-12-6','98.12.6 11:30:45'),(69,69,'98-12-5','98.12.5 11:30:45'),(70,70,'98-12-4','98.12.4 11:30:45'),(90,90,'98-12-3','98.12.3 11:30:45'),(99,99,'98-12-2','98.12.2 11:30:45'); +SET TIMESTAMP=1233216687; +INSERT IGNORE INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1(c1) VALUES('5'); +INSERT IGNORE INTO t2(c1) VALUES('5'); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t3(c1) VALUES('5'); +INSERT INTO t4(c1,c2) VALUES('0','000'); +INSERT IGNORE INTO t2 VALUES(1900,2156,'08-01-06','08/01/07'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT IGNORE INTO t3 VALUES('1900','2156','08-01-08','08/1/9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT IGNORE INTO t4 VALUES('1900','2156','08-01-08','08/1/9'),(1900,2156,'08-01-08','08/1/9'),(0,00,'08-01-08','08/1/9'),(000,000,'08-01-08','08/1/9'),('-20','100','08-01-08','08/1/9'),(-20,100,'08-01-08','08/1/9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +INSERT IGNORE INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT IGNORE INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; +Warnings: +Warning 1366 Incorrect integer value: 'abcd' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: 'abcd' for column `test`.`t4`.`c2` at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES('20','30','98-12-16','98.12.16 11:30:45'),('40','20','98-12-15','98.12.15 11:30:45'); +INSERT INTO t3 VALUES('00','20','98-12-17','98.12.17 11:30:45'),('20','40','98-12-10','98.12.10 11:30:45'); +INSERT INTO t1 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t1(c1,c2) VALUES(1992,NULL); +SELECT * FROM t1; +c1 c2 c3 c4 +0000 0000 2008-01-04 2008-01-05 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1992 NULL NULL NULL +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t4; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +0000 0000 2008-01-08 2008-01-09 00:00:00 +0000 0000 2008-01-08 2008-01-09 00:00:00 +0000 0000 2008-01-08 2008-01-09 00:00:00 +0000 0000 2008-01-08 2008-01-09 00:00:00 +0000 0000 2008-01-08 2008-01-09 00:00:00 +0000 0000 2008-01-10 2008-01-11 00:00:00 +0000 0000 2008-01-12 2008-01-13 00:00:00 +1901 1901 1998-12-24 1998-12-24 11:30:45 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-04 1998-12-04 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-03 1998-12-03 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-02 1998-12-02 11:30:45 +1999 1999 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-23 1998-12-23 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-22 1998-12-22 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2000 NULL NULL +2001 2001 1998-12-09 1998-12-09 11:30:45 +2001 2001 1998-12-21 1998-12-21 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-08 1998-12-08 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-07 1998-12-07 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-06 1998-12-06 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-05 1998-12-05 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-20 1998-12-20 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-19 1998-12-19 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-18 1998-12-18 11:30:45 +2155 2155 1998-12-25 1998-12-25 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 2155 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2001 2001 +2005 0000 +2009 2009 +2020 2020 +2020 2030 +2040 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1999 +1999 1998 +2000 2010 +2000 2000 +2001 2001 +2005 0000 +2009 2009 +2020 2030 +2020 2020 +2040 2040 +2040 2020 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 2155 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2001 2001 +2005 0000 +2009 2009 +2020 2020 +2020 2030 +2040 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1999 +1999 1998 +2000 2010 +2000 2000 +2001 2001 +2005 0000 +2009 2009 +2020 2030 +2020 2020 +2040 2040 +2040 2020 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +20 0 2155 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2001 2001 +2005 0000 +2009 2009 +2020 2020 +2020 2030 +2040 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1999 +1999 1998 +2000 2010 +2000 2000 +2001 2001 +2005 0000 +2009 2009 +2020 2030 +2020 2020 +2040 2040 +2040 2020 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +c1 c2 c3 c4 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +20 0 2155 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2001 2001 +2005 0000 +2009 2009 +2020 2020 +2020 2030 +2040 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1990 1990 +1999 1999 +1999 1998 +2000 2010 +2000 2000 +2001 2001 +2005 0000 +2009 2009 +2020 2030 +2020 2020 +2040 2040 +2040 2020 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 0000 NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2030 1998-12-16 1998-12-16 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2040 2020 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-06 2008-01-07 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +21 0 2155 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2000 2020 +2001 2001 +2005 NULL +2009 2009 +2020 2020 +2020 2040 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1999 +1999 1998 +2000 2020 +2000 2010 +2000 2000 +2001 2001 +2005 NULL +2009 2009 +2020 2040 +2020 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2009 2009 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +21 0 2155 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2000 2020 +2001 2001 +2005 NULL +2009 2009 +2020 2020 +2020 2040 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1999 +1999 1998 +2000 2020 +2000 2010 +2000 2000 +2001 2001 +2005 NULL +2009 2009 +2020 2040 +2020 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2; +c1 c2 c3 c4 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 0 2155 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2000 2020 +2001 2001 +2005 NULL +2009 2009 +2020 2020 +2020 2040 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1999 +1999 1998 +2000 2020 +2000 2010 +2000 2000 +2001 2001 +2005 NULL +2009 2009 +2020 2040 +2020 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 0 2155 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +1990 1990 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1998 +1999 1999 +2000 2000 +2000 2010 +2000 2020 +2001 2001 +2005 NULL +2009 2009 +2020 2020 +2020 2040 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +0000 0000 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1999 +1999 1998 +2000 2020 +2000 2010 +2000 2000 +2001 2001 +2005 NULL +2009 2009 +2020 2040 +2020 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +2005 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +1999 1998 1998-12-10 1998-12-10 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +SELECT c1 FROM t3 GROUP BY c1; +c1 +0000 +1901 +1970 +1980 +1990 +1999 +2000 +2001 +2005 +2009 +2020 +2040 +2060 +2069 +2099 +2100 +2155 +SELECT DISTINCT c1 FROM t3; +c1 +0000 +1901 +1970 +1980 +1990 +1999 +2000 +2001 +2005 +2009 +2020 +2040 +2060 +2069 +2099 +2100 +2155 +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +c1 MIN(c2) +0000 0 +1901 1901 +1970 1970 +1980 NULL +1990 1990 +1999 1998 +2000 2000 +2001 2001 +2005 NULL +2009 2009 +2020 2020 +2040 2040 +2060 2060 +2069 2069 +2099 2099 +2100 2100 +2155 2155 +SELECT * FROM t1 WHERE c1='1901' OR c2='2155'; +c1 c2 c3 c4 +1901 1901 1998-12-31 1998-12-31 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +INSERT INTO t1(c1,c2) VALUES(01,'99'); +ERROR 23000: Duplicate entry '2001' for key 'PRIMARY' +INSERT INTO t2(c1,c2) VALUES(99,99); +ERROR 23000: Duplicate entry '1999-1999' for key 'PRIMARY' +INSERT INTO t1(c1,c2) VALUES('2098',69); +ERROR 23000: Duplicate entry '2069' for key 'c2' +INSERT INTO t3(c1,c2) VALUES(00,00); +ERROR 23000: Duplicate entry '0000-0000' for key 'idx' +INSERT IGNORE INTO t1(c1,c2) VALUES(01,'99'); +Warnings: +Warning 1062 Duplicate entry '2001' for key 'PRIMARY' +INSERT IGNORE INTO t2(c1,c2) VALUES('1999','1999'); +Warnings: +Warning 1062 Duplicate entry '1999-1999' for key 'PRIMARY' +INSERT IGNORE INTO t1(c1,c2) VALUES('2098','69'); +Warnings: +Warning 1062 Duplicate entry '2069' for key 'c2' +INSERT IGNORE INTO t3(c1,c2) VALUES(00,00); +Warnings: +Warning 1062 Duplicate entry '0000-0000' for key 'idx' +SELECT * FROM t1 WHERE c1='01' /* Returns 1 row */; +c1 c2 c3 c4 +2001 2001 1998-12-28 1998-12-28 11:30:45 +SELECT * FROM t2 WHERE c1='1999' AND c2='1999' /* Returns 1 row */; +c1 c2 c3 c4 +1999 1999 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2='69' /* Returns 1 row */; +c1 c2 c3 c4 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1=0 AND c2=0 /* Returns 1 row */; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +SELECT * FROM t1 WHERE c1='02' /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1) VALUES('00') ON DUPLICATE KEY UPDATE c1='02'; +SELECT * FROM t1 WHERE c1='2002' /* Returns 1 row */; +c1 c2 c3 c4 +2002 2000 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t2 WHERE c1=69 AND c2=70 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t2 VALUES(99,99,'98-12-20','98.12.20 11:30:45') ON DUPLICATE KEY UPDATE c1=69,c2=70; +SELECT * FROM t2 WHERE c1=2069 AND c2=1970 /* Returns 1 row */; +c1 c2 c3 c4 +2069 1970 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1 VALUES(69,69,'98-12-18','98.12.18 11:30:45') ON DUPLICATE KEY UPDATE c1=54,c2=53; +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns 1 row */; +c1 c2 c3 c4 +2054 2053 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1=6 AND c2=1970 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t3(c1,c2) VALUES('69','69') ON DUPLICATE KEY UPDATE c1=06,c2=70; +SELECT * FROM t3 WHERE c1=2006 AND c2=1970 /* Returns 1 row */; +c1 c2 c3 c4 +2006 1970 1998-12-13 1998-12-13 11:30:45 +CREATE TABLE t5(c1 YEAR NOT NULL, c2 YEAR NULL, c3 DATE, c4 DATETIME, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1; +SELECT * FROM t5; +c1 c2 c3 c4 +0000 0000 2008-01-04 2008-01-05 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1992 NULL NULL NULL +1999 1999 1998-12-30 1998-12-30 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2002 2000 1998-12-29 1998-12-29 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2054 2053 1998-12-13 1998-12-13 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >=1970 AND c1 < 1999 AND c2 <> '1990'; +SELECT * FROM t5; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND '2155'; +SELECT * FROM t5; +c1 c2 c3 c4 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +TRUNCATE TABLE t5; +DROP TABLE t5; +INSERT INTO t1 SET c1='00'; +INSERT IGNORE INTO t2 SET c1=69; +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t3 SET c1=70; +INSERT IGNORE INTO t4 SET c2=99; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 c4 +0000 0000 2008-01-04 2008-01-05 00:00:00 +SELECT * FROM t2 WHERE c1=69; +c1 c2 c3 c4 +2069 0000 NULL NULL +2069 1970 1998-12-30 1998-12-30 11:30:45 +2069 2069 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1=70; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1970 NULL NULL NULL +SELECT * FROM t4 WHERE c2=99; +c1 c2 c3 c4 +0000 1999 NULL NULL +1999 1999 1998-12-02 1998-12-02 11:30:45 +1999 1999 1998-12-10 1998-12-10 11:30:45 +1999 1999 1998-12-23 1998-12-23 11:30:45 +1999 1999 1998-12-30 1998-12-30 11:30:45 +DROP TABLE t1,t2,t3,t4; +CREATE TABLE t1(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +CREATE TABLE t2(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +CREATE TABLE t3(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +CREATE TABLE t4(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +INSERT INTO t1 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t2 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t3 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t4 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-25','98.12.25 11:30:45'); +INSERT INTO t4 VALUES(1901,1901,'98-12-24','98.12.24 11:30:45'),(1999,1999,'98-12-23','98.12.23 11:30:45'),(2000,2000,'98-12-22','98.12.22 11:30:45'),(2001,2001,'98-12-21','98.12.21 11:30:45'),(2099,2099,'98-12-20','98.12.20 11:30:45'),(2100,2100,'98-12-19','98.12.19 11:30:45'),(2155,2155,'98-12-18','98.12.18 11:30:45'); +INSERT INTO t1 VALUES('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'); +INSERT INTO t2 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t3 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t4 VALUES('00','00','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','99','98-12-10','98.12.10 11:30:45'); +INSERT INTO t4 VALUES(1,1,'98-12-9','98.12.9 11:30:45'),(20,20,'98-12-8','98.12.8 11:30:45'),(40,40,'98-12-7','98.12.7 11:30:45'),(60,60,'98-12-6','98.12.6 11:30:45'),(69,69,'98-12-5','98.12.5 11:30:45'),(70,70,'98-12-4','98.12.4 11:30:45'),(90,90,'98-12-3','98.12.3 11:30:45'),(99,99,'98-12-2','98.12.2 11:30:45'); +SET TIMESTAMP=1233216687; +INSERT IGNORE INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1(c1) VALUES('5'); +INSERT IGNORE INTO t2(c1) VALUES('5'); +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t3(c1) VALUES('5'); +INSERT INTO t4(c1,c2) VALUES('0','000'); +INSERT IGNORE INTO t2 VALUES(1900,2156,'08-01-06','08/01/07'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT IGNORE INTO t3 VALUES('1900','2156','08-01-08','08/1/9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT IGNORE INTO t4 VALUES('1900','2156','08-01-08','08/1/9'),(1900,2156,'08-01-08','08/1/9'),(0,00,'08-01-08','08/1/9'),(000,000,'08-01-08','08/1/9'),('-20','100','08-01-08','08/1/9'),(-20,100,'08-01-08','08/1/9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +INSERT IGNORE INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; +Warnings: +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c1` at row 1 +Warning 1366 Incorrect integer value: '' for column `test`.`t1`.`c2` at row 1 +INSERT IGNORE INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; +Warnings: +Warning 1366 Incorrect integer value: 'abcd' for column `test`.`t4`.`c1` at row 1 +Warning 1366 Incorrect integer value: 'abcd' for column `test`.`t4`.`c2` at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +INSERT INTO t2 VALUES('20','30','98-12-16','98.12.16 11:30:45'),('40','20','98-12-15','98.12.15 11:30:45'); +INSERT INTO t3 VALUES('00','20','98-12-17','98.12.17 11:30:45'),('20','40','98-12-10','98.12.10 11:30:45'); +INSERT INTO t1 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t1(c1,c2) VALUES(1992,NULL); +SELECT * FROM t1; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-04 2008-01-05 00:00:00 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +92 NULL NULL NULL +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-06 2008-01-07 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-08 2008-01-09 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t4; +c1 c2 c3 c4 +00 00 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-19 1998-12-19 11:30:45 +00 00 1998-12-22 1998-12-22 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 2008-01-10 2008-01-11 00:00:00 +00 00 2008-01-12 2008-01-13 00:00:00 +00 00 NULL NULL +01 01 1998-12-09 1998-12-09 11:30:45 +01 01 1998-12-21 1998-12-21 11:30:45 +01 01 1998-12-24 1998-12-24 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-08 1998-12-08 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-07 1998-12-07 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-18 1998-12-18 11:30:45 +55 55 1998-12-25 1998-12-25 11:30:45 +60 60 1998-12-06 1998-12-06 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-05 1998-12-05 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-04 1998-12-04 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-03 1998-12-03 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-02 1998-12-02 11:30:45 +99 99 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-20 1998-12-20 11:30:45 +99 99 1998-12-23 1998-12-23 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-06 2008-01-07 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 55 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +00 00 +00 00 +00 00 +00 10 +01 01 +01 01 +05 00 +09 09 +20 20 +20 30 +40 20 +40 40 +55 55 +60 60 +69 69 +70 70 +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +90 90 +99 99 +99 98 +00 10 +00 00 +01 01 +05 00 +09 09 +20 30 +20 20 +40 40 +40 20 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +09 09 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +09 09 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +09 09 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +09 09 2009-01-29 2009-01-29 00:00:00 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-06 2008-01-07 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +total_rows min_value max(c1) +20 0 55 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +00 00 +00 00 +00 00 +00 10 +01 01 +01 01 +05 00 +09 09 +20 20 +20 30 +40 20 +40 40 +55 55 +60 60 +69 69 +70 70 +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +90 90 +99 99 +99 98 +00 10 +00 00 +01 01 +05 00 +09 09 +20 30 +20 20 +40 40 +40 20 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-06 2008-01-07 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +20 70 69 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +00 00 +00 00 +00 00 +00 10 +01 01 +01 01 +05 00 +09 09 +20 20 +20 30 +40 20 +40 40 +55 55 +60 60 +69 69 +70 70 +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +90 90 +99 99 +99 98 +00 10 +00 00 +01 01 +05 00 +09 09 +20 30 +20 20 +40 40 +40 20 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-06 2008-01-07 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +total_rows min_value max(c2) +20 70 69 +SELECT * FROM t2 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t2; +c1 c2 +00 00 +00 00 +00 00 +00 10 +01 01 +01 01 +05 00 +09 09 +20 20 +20 30 +40 20 +40 40 +55 55 +60 60 +69 69 +70 70 +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +90 90 +99 99 +99 98 +00 10 +00 00 +01 01 +05 00 +09 09 +20 30 +20 20 +40 40 +40 20 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 30 1998-12-16 1998-12-16 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 00 NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 30 1998-12-16 1998-12-16 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +40 20 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-06 2008-01-07 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-08 2008-01-09 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +21 0 55 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +00 00 +00 00 +00 00 +00 10 +00 20 +01 01 +01 01 +05 NULL +09 09 +20 20 +20 40 +40 40 +55 55 +60 60 +69 69 +70 70 +80 NULL +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +80 NULL +90 90 +99 99 +99 98 +00 20 +00 10 +00 00 +01 01 +05 NULL +09 09 +20 40 +20 20 +40 40 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-08 2008-01-09 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +total_rows min_value max(c1) +21 0 55 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +00 00 +00 00 +00 00 +00 10 +00 20 +01 01 +01 01 +05 NULL +09 09 +20 20 +20 40 +40 40 +55 55 +60 60 +69 69 +70 70 +80 NULL +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +80 NULL +90 90 +99 99 +99 98 +00 20 +00 10 +00 00 +01 01 +05 NULL +09 09 +20 40 +20 20 +40 40 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2; +c1 c2 c3 c4 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-08 2008-01-09 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 70 69 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +00 00 +00 00 +00 00 +00 10 +00 20 +01 01 +01 01 +05 NULL +09 09 +20 20 +20 40 +40 40 +55 55 +60 60 +69 69 +70 70 +80 NULL +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +80 NULL +90 90 +99 99 +99 98 +00 20 +00 10 +00 00 +01 01 +05 NULL +09 09 +20 40 +20 20 +40 40 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3; +c1 c2 c3 c4 +00 00 1998-12-26 1998-12-26 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 00 2008-01-08 2008-01-09 00:00:00 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +01 01 1998-12-31 1998-12-31 11:30:45 +05 NULL NULL NULL +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +80 NULL 2008-01-02 2008-01-03 00:00:00 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +total_rows min_value max(c2) +21 70 69 +SELECT * FROM t3 WHERE c3 = '1998-12-11'; +c1 c2 c3 c4 +90 90 1998-12-11 1998-12-11 11:30:45 +SELECT c1,c2 FROM t3; +c1 c2 +00 00 +00 00 +00 00 +00 10 +00 20 +01 01 +01 01 +05 NULL +09 09 +20 20 +20 40 +40 40 +55 55 +60 60 +69 69 +70 70 +80 NULL +90 90 +99 98 +99 99 +99 99 +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; +c1 c2 +00 00 +01 01 +70 70 +80 NULL +90 90 +99 99 +99 98 +00 20 +00 10 +00 00 +01 01 +05 NULL +09 09 +20 40 +20 20 +40 40 +60 60 +69 69 +99 99 +00 00 +55 55 +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 20 1998-12-16 1998-12-16 11:30:45 +20 40 1998-12-10 1998-12-10 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +80 NULL 2008-01-02 2008-01-03 00:00:00 +05 NULL NULL NULL +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +70 70 1998-12-12 1998-12-12 11:30:45 +90 90 1998-12-11 1998-12-11 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +99 98 1998-12-10 1998-12-10 11:30:45 +00 20 1998-12-17 1998-12-17 11:30:45 +00 10 1998-12-17 1998-12-17 11:30:45 +00 00 1998-12-29 1998-12-29 11:30:45 +01 01 1998-12-28 1998-12-28 11:30:45 +09 09 2009-01-29 2009-01-29 00:00:00 +20 40 1998-12-10 1998-12-10 11:30:45 +20 20 1998-12-16 1998-12-16 11:30:45 +40 40 1998-12-15 1998-12-15 11:30:45 +60 60 1998-12-14 1998-12-14 11:30:45 +69 69 1998-12-13 1998-12-13 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +00 00 1998-12-26 1998-12-26 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 c4 +00 00 2008-01-08 2008-01-09 00:00:00 +01 01 1998-12-31 1998-12-31 11:30:45 +SELECT c1 FROM t3 GROUP BY c1; +c1 +00 +00 +00 +01 +01 +05 +09 +20 +40 +55 +60 +69 +70 +80 +90 +99 +99 +SELECT DISTINCT c1 FROM t3; +c1 +00 +00 +00 +01 +01 +05 +09 +20 +40 +55 +60 +69 +70 +80 +90 +99 +99 +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +c1 MIN(c2) +00 0 +00 0 +00 0 +01 1 +01 1 +05 NULL +09 9 +20 20 +40 40 +55 55 +60 60 +69 69 +70 70 +80 NULL +90 90 +99 98 +99 99 +SELECT * FROM t1 WHERE c1='1901' OR c2='2155'; +c1 c2 c3 c4 +01 01 1998-12-31 1998-12-31 11:30:45 +55 55 1998-12-26 1998-12-26 11:30:45 +INSERT INTO t1(c1,c2) VALUES(01,'99'); +ERROR 23000: Duplicate entry '01' for key 'PRIMARY' +INSERT INTO t2(c1,c2) VALUES(99,99); +ERROR 23000: Duplicate entry '99-99' for key 'PRIMARY' +INSERT INTO t1(c1,c2) VALUES('2098',69); +ERROR 23000: Duplicate entry '69' for key 'c2' +INSERT INTO t3(c1,c2) VALUES(00,00); +ERROR 23000: Duplicate entry '00-00' for key 'idx' +INSERT IGNORE INTO t1(c1,c2) VALUES(01,'99'); +Warnings: +Warning 1062 Duplicate entry '01' for key 'PRIMARY' +INSERT IGNORE INTO t2(c1,c2) VALUES('1999','1999'); +Warnings: +Warning 1062 Duplicate entry '99-99' for key 'PRIMARY' +INSERT IGNORE INTO t1(c1,c2) VALUES('2098','69'); +Warnings: +Warning 1062 Duplicate entry '69' for key 'c2' +INSERT IGNORE INTO t3(c1,c2) VALUES(00,00); +Warnings: +Warning 1062 Duplicate entry '00-00' for key 'idx' +SELECT * FROM t1 WHERE c1='01' /* Returns 1 row */; +c1 c2 c3 c4 +01 01 1998-12-28 1998-12-28 11:30:45 +SELECT * FROM t2 WHERE c1='1999' AND c2='1999' /* Returns 1 row */; +c1 c2 c3 c4 +99 99 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c2='69' /* Returns 1 row */; +c1 c2 c3 c4 +69 69 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1=0 AND c2=0 /* Returns 1 row */; +c1 c2 c3 c4 +00 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t1 WHERE c1='02' /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1(c1) VALUES('00') ON DUPLICATE KEY UPDATE c1='02'; +SELECT * FROM t1 WHERE c1='2002' /* Returns 1 row */; +c1 c2 c3 c4 +02 00 1998-12-29 1998-12-29 11:30:45 +SELECT * FROM t2 WHERE c1=69 AND c2=70 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t2 VALUES(99,99,'98-12-20','98.12.20 11:30:45') ON DUPLICATE KEY UPDATE c1=69,c2=70; +SELECT * FROM t2 WHERE c1=2069 AND c2=1970 /* Returns 1 row */; +c1 c2 c3 c4 +69 70 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t1 VALUES(69,69,'98-12-18','98.12.18 11:30:45') ON DUPLICATE KEY UPDATE c1=54,c2=53; +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns 1 row */; +c1 c2 c3 c4 +54 53 1998-12-13 1998-12-13 11:30:45 +SELECT * FROM t3 WHERE c1=6 AND c2=1970 /* Returns no rows */; +c1 c2 c3 c4 +INSERT INTO t3(c1,c2) VALUES('69','69') ON DUPLICATE KEY UPDATE c1=06,c2=70; +SELECT * FROM t3 WHERE c1=2006 AND c2=1970 /* Returns 1 row */; +c1 c2 c3 c4 +06 70 1998-12-13 1998-12-13 11:30:45 +CREATE TABLE t5(c1 YEAR NOT NULL, c2 YEAR NULL, c3 DATE, c4 DATETIME, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1; +SELECT * FROM t5; +c1 c2 c3 c4 +0000 0000 2008-01-04 2008-01-05 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +1970 1970 1998-12-12 1998-12-12 11:30:45 +1980 NULL 2008-01-02 2008-01-03 00:00:00 +1990 1990 1998-12-11 1998-12-11 11:30:45 +1992 NULL NULL NULL +1999 1999 1998-12-30 1998-12-30 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2002 2000 1998-12-29 1998-12-29 11:30:45 +2005 NULL NULL NULL +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2054 2053 1998-12-13 1998-12-13 11:30:45 +2060 2060 1998-12-14 1998-12-14 11:30:45 +2099 2099 1998-12-27 1998-12-27 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >=1970 AND c1 < 1999 AND c2 <> '1990'; +SELECT * FROM t5; +c1 c2 c3 c4 +1970 1970 1998-12-12 1998-12-12 11:30:45 +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND '2155'; +SELECT * FROM t5; +c1 c2 c3 c4 +0000 0000 2008-01-08 2008-01-09 00:00:00 +1901 1901 1998-12-31 1998-12-31 11:30:45 +2000 2000 1998-12-29 1998-12-29 11:30:45 +2000 2010 1998-12-17 1998-12-17 11:30:45 +2000 2020 1998-12-17 1998-12-17 11:30:45 +2001 2001 1998-12-28 1998-12-28 11:30:45 +2009 2009 2009-01-29 2009-01-29 00:00:00 +2020 2020 1998-12-16 1998-12-16 11:30:45 +2020 2040 1998-12-10 1998-12-10 11:30:45 +2040 2040 1998-12-15 1998-12-15 11:30:45 +2100 2100 1998-12-26 1998-12-26 11:30:45 +2155 2155 1998-12-26 1998-12-26 11:30:45 +TRUNCATE TABLE t5; +DROP TABLE t5; +INSERT INTO t1 SET c1='00'; +INSERT IGNORE INTO t2 SET c1=69; +Warnings: +Warning 1364 Field 'c2' doesn't have a default value +INSERT INTO t3 SET c1=70; +INSERT IGNORE INTO t4 SET c2=99; +Warnings: +Warning 1364 Field 'c1' doesn't have a default value +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 c4 +00 NULL NULL NULL +SELECT * FROM t2 WHERE c1=69; +c1 c2 c3 c4 +69 00 NULL NULL +69 69 1998-12-13 1998-12-13 11:30:45 +69 70 1998-12-30 1998-12-30 11:30:45 +SELECT * FROM t3 WHERE c1=70; +c1 c2 c3 c4 +70 70 1998-12-12 1998-12-12 11:30:45 +70 NULL NULL NULL +SELECT * FROM t4 WHERE c2=99; +c1 c2 c3 c4 +00 99 NULL NULL +99 99 1998-12-02 1998-12-02 11:30:45 +99 99 1998-12-10 1998-12-10 11:30:45 +99 99 1998-12-20 1998-12-20 11:30:45 +99 99 1998-12-23 1998-12-23 11:30:45 +99 99 1998-12-27 1998-12-27 11:30:45 +99 99 1998-12-30 1998-12-30 11:30:45 +DROP TABLE t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result b/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result new file mode 100644 index 00000000..4b1ffc90 Binary files /dev/null and b/mysql-test/suite/engines/iuds/r/strings_charsets_update_delete.result differ diff --git a/mysql-test/suite/engines/iuds/r/strings_update_delete.result b/mysql-test/suite/engines/iuds/r/strings_update_delete.result new file mode 100644 index 00000000..708d2811 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/strings_update_delete.result @@ -0,0 +1,70475 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18; +CREATE TABLE t1(c1 CHAR(255), c2 TEXT); +INSERT INTO t1 VALUES(REPEAT('abcdef',40), REPEAT('1',65535)); +INSERT INTO t1 VALUES(REPEAT('abc',80), REPEAT('2',65533)); +INSERT INTO t1 VALUES(REPEAT('\t',255), REPEAT('3',65534)); +UPDATE t1 SET c1=REPEAT('\n',255) WHERE c1=REPEAT('\t',255); +SELECT LENGTH(c1),LENGTH(c2),CHAR_LENGTH(c2) FROM t1; +LENGTH(c1) LENGTH(c2) CHAR_LENGTH(c2) +240 65533 65533 +240 65535 65535 +255 65534 65534 +SELECT c1, c2 FROM t1 where c1= REPEAT('\n',255); +c1 c2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +UPDATE t1 SET c1=REPEAT('xyz',85), c2=REPEAT(c1, 100) ORDER by c1 LIMIT 2; +SHOW WARNINGS; +Level Code Message +SELECT LENGTH(c2) FROM t1 WHERE c2 LIKE 'xyz%'; +LENGTH(c2) +25500 +25500 +SELECT LENGTH(c1),LENGTH(c2),CHAR_LENGTH(c2) FROM t1; +LENGTH(c1) LENGTH(c2) CHAR_LENGTH(c2) +240 65535 65535 +255 25500 25500 +255 25500 25500 +SELECT c1, c2 FROM t1; +c1 c2 +abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz +xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz +ALTER TABLE t1 MODIFY c1 TEXT; +UPDATE t1 SET c1=LOAD_FILE('$MYSQLTEST_VARDIR/temp.txt') LIMIT 2; +SHOW WARNINGS; +Level Code Message +UPDATE t1 SET c1=NULL WHERE c1 LIKE 'xyz%'; +DELETE FROM t1 LIMIT 1; +DELETE FROM t1 WHERE c1 NOT LIKE 'xyz%' LIMIT 1; +SELECT length(c1), c1, length(c2), c2 FROM t1; +length(c1) c1 length(c2) c2 +NULL NULL 25500 xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz +NULL NULL 25500 xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz +CREATE TABLE t2(c1 BLOB, c2 TINYBLOB, c3 TEXT); +INSERT INTO t2 VALUES(REPEAT('1',65535),REPEAT('a',254),REPEAT('d',65534 )); +INSERT INTO t2 VALUES(REPEAT('2',65534),REPEAT('b',253),REPEAT('e',65535 )); +INSERT INTO t2 VALUES(REPEAT('3',65533),REPEAT('c',255),REPEAT('f',65533)); +SELECT c1,c2 FROM t2; +c1 c2 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +SELECT length(c1),c1, length(c2),c2, length(c3), c3 FROM t2; +length(c1) c1 length(c2) c2 length(c3) c3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +65533 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 255 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 65533 fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +65534 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 253 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 65535 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +65535 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 254 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 65534 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +UPDATE t2 SET c3='Not NULL' WHERE c3=NULL; +SELECT length(c1),c1, length(c2),c2, length(c3), c3 FROM t2; +length(c1) c1 length(c2) c2 length(c3) c3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL + 19 sdsdsd NULL NULL +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +21 abcde fgh +65533 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 255 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 65533 fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +65534 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 253 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 65535 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +65535 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 254 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 65534 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +CREATE TABLE t3 (c1 CHAR(10), c2 CHAR(100)); +INSERT INTO t3 VALUES ('AS','Axel Soa'), ('AK','Axle Kora'), ('HH','Hulk Hogan'); +CREATE TABLE t4 (c1 CHAR(10), c2 CHAR(100)); +INSERT INTO t4 VALUES ('AS','#100, Avenue, UK'), ('AK','#101, Avenue, US'), ('HH','#103, Avenu MT'); +UPDATE t4 SET c2='#102, Avennue MT' WHERE c1='HH'; +SELECT LENGTH(c1), c1 , LENGTH(c2),c2 FROM t4; +LENGTH(c1) c1 LENGTH(c2) c2 +2 AK 16 #101, Avenue, US +2 AS 16 #100, Avenue, UK +2 HH 16 #102, Avennue MT +DELETE FROM t3 USING t3,t4 WHERE t3.c1='AS' AND t3.c1=t4.c1 ; +SELECT length(c1), c1, length(c2), c2 FROM t3; +length(c1) c1 length(c2) c2 +2 AK 9 Axle Kora +2 HH 10 Hulk Hogan +DROP TABLE t3,t4; +CREATE TABLE t3 (id int(11) NOT NULL default '0',name varchar(10) default NULL,PRIMARY KEY (id)) ; +INSERT INTO t3 VALUES (1, 'aaa'),(2,'aaa'),(3,'aaa'); +CREATE TABLE t4 (id int(11) NOT NULL default '0',name varchar(10) default NULL, PRIMARY KEY (id)) ; +INSERT INTO t4 VALUES (2,'bbb'),(3,'bbb'),(4,'bbb'); +CREATE TABLE t5 (id int(11) NOT NULL default '0', mydate datetime default NULL,PRIMARY KEY (id)); +INSERT INTO t5 VALUES (1,'2002-02-04 00:00:00'),(3,'2002-05-12 00:00:00'),(5,'2002-05-12 00:00:00'),(6,'2002-06-22 00:00:00'),(7,'2002-07-22 00:00:00'); +delete t3,t4,t5 from t3,t4,t5 where to_days(now())-to_days(t5.mydate)>=30 and t5.id=t3.id and t5.id=t4.id; +select * from t5; +id mydate +1 2002-02-04 00:00:00 +5 2002-05-12 00:00:00 +6 2002-06-22 00:00:00 +7 2002-07-22 00:00:00 +DROP TABLE t3,t4,t5; +CREATE TABLE t6 (a char(2) not null primary key, b varchar(20) not null, key (b)); +CREATE TABLE t7 (a char(2) not null primary key, b varchar(20) not null, key (b)); +INSERT INTO t6 values ('AB','MySQLAB'),('JA','Sun Microsystems'),('MS','Microsoft'),('IB','IBM- Inc.'),('GO','Google Inc.'); +INSERT IGNORE INTO t7 values ('AB','Sweden'),('JA','USA'),('MS','United States of Amercica'),('IB','North America'),('GO','South America'); +Warnings: +Warning 1265 Data truncated for column 'b' at row 3 +update t6,t7 set t6.a=LCASE(t6.a); +select * from t6; +a b +ab MySQLAB +go Google Inc. +ib IBM- Inc. +ja Sun Microsystems +ms Microsoft +update t6,t7 set t6.a=UCASE(t6.a) where t6.a='AB'; +select * from t6; +a b +AB MySQLAB +go Google Inc. +ib IBM- Inc. +ja Sun Microsystems +ms Microsoft +update t6,t7 set t6.b=UPPER(t6.b) where t6.b LIKE 'United%'; +select * from t7; +a b +AB Sweden +GO South America +IB North America +JA USA +MS United States of Ame +update t6,t7 set t6.b=UPPER(t6.b),t7.b=LOWER(t7.b) where LENGTH(t6.b) between 3 and 5 and t7.a=LOWER(t6.a); +select * from t6; +a b +AB MySQLAB +go Google Inc. +ib IBM- Inc. +ja Sun Microsystems +ms Microsoft +select * from t7; +a b +AB Sweden +GO South America +IB North America +JA USA +MS United States of Ame +drop table t6,t7; +CREATE TABLE t12(c1 TINYTEXT, c2 TEXT, c3 MEDIUMTEXT, c4 LONGTEXT); +INSERT INTO t12 values (" This is a test ","\0 \0 for STRING","functions available \t in", " \t\t MySQL " ); +UPDATE t12 SET c1="This is a update test!" WHERE c2 LIKE "\0%"; +SELECT LENGTH(c1),LENGTH(c2),LENGTH(c3),LENGTH(c4) FROM t12; +LENGTH(c1) LENGTH(c2) LENGTH(c3) LENGTH(c4) +22 14 24 12 +SELECT LEFT(c1,5),LEFT(c2,5),LEFT(c3,5),LEFT(c4,5) FROM t12; +LEFT(c1,5) LEFT(c2,5) LEFT(c3,5) LEFT(c4,5) + + f funct +This +SELECT RTRIM(c1),RTRIM(c2),RTRIM(c3),RTRIM(c4) FROM t12; +RTRIM(c1) RTRIM(c2) RTRIM(c3) RTRIM(c4) + + for STRING functions available in MySQL +This is a update test! +SELECT HEX(c1),HEX(c2),HEX(c3),HEX(c4) FROM t12; +HEX(c1) HEX(c2) HEX(c3) HEX(c4) +54686973206973206120757064617465207465737421 00200020666F7220535452494E47 66756E6374696F6E7320617661696C61626C65200920696E 2020200909204D7953514C20 +SELECT REVERSE(c1),REVERSE(c2),REVERSE(c3),REVERSE(c4) FROM t12; +REVERSE(c1) REVERSE(c2) REVERSE(c3) REVERSE(c4) + ni elbaliava snoitcnuf LQSyM + +!tset etadpu a si sihT GNIRTS rof +DELETE FROM t12 WHERE C1 LIKE "%update%"; +SELECT HEX(c1),HEX(c2),HEX(c3),HEX(c4) FROM t12; +HEX(c1) HEX(c2) HEX(c3) HEX(c4) +CREATE TABLE t16 (c1 SET('a', 'b', 'c', 'd', 'e')); +INSERT INTO t16 VALUES (('d,a,d,d')); +SELECT c1 FROM t16; +c1 +a,d +INSERT IGNORE INTO t16 (c1) VALUES ('a,b,d'),('d,A ,b'); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 2 +SELECT c1 FROM t16; +c1 +a,b,d +a,d +b,d +INSERT IGNORE INTO t16 (c1) VALUES ('f,a,b'); +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +SHOW WARNINGS; +Level Code Message +Warning 1265 Data truncated for column 'c1' at row 1 +SELECT c1 FROM t16; +c1 +a,b +a,b,d +a,d +b,d +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +CREATE TABLE t17 (c1 SET('a','b','a','b')); +Warnings: +Note 1291 Column 'c1' has duplicated value 'a' in SET +Note 1291 Column 'c1' has duplicated value 'b' in SET +SHOW WARNINGS; +Level Code Message +Note 1291 Column 'c1' has duplicated value 'a' in SET +Note 1291 Column 'c1' has duplicated value 'b' in SET +CREATE TABLE t18 (c1 CHAR(4),c2 enum('SMALL','MEDIUM','LARGE','VERY LARGE')); +INSERT INTO t18 VALUES('SIZE', 'SMALL'); +INSERT IGNORE INTO t18 VALUES('SIZE', 'SMALL1'); +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +SELECT * FROM t18 WHERE c2=0; +c1 c2 +SIZE +EXPLAIN SELECT * FROM t18 WHERE c2=0; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t18 ALL NULL NULL NULL NULL 2 Using where +SET sql_mode= 'STRICT_ALL_TABLES'; +INSERT INTO t18 VALUES('SIZE','SMALL2'); +ERROR 01000: Data truncated for column 'c2' at row 1 +SELECT * FROM t18 WHERE c2=0; +c1 c2 +SIZE +DROP TABLE t17,t18; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18; +Warnings: +Note 1051 Unknown table 'test.t3,test.t4,test.t5,test.t6,test.t7,test.t8,test.t9,test.t10,test.t11,test.t13,test.t14,test....' diff --git a/mysql-test/suite/engines/iuds/r/type_bit_iuds.result b/mysql-test/suite/engines/iuds/r/type_bit_iuds.result new file mode 100644 index 00000000..93ed7a9f --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/type_bit_iuds.result @@ -0,0 +1,90019 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<0); +0 + (0<<0) +0 +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<1); +0 + (0<<1) +0 +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<2); +0 + (0<<2) +0 +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +1 +1 +1 +2 +2 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +1 +1 +1 +2 +2 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +1 +1 +1 +10 +10 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<4); +0 + (0<<4) +0 +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<8); +0 + (0<<8) +0 +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<16); +0 + (0<<16) +0 +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<32); +0 + (0<<32) +0 +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +62273127 62273031 FFFFFFFF +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +62273127 14211630061 11111111111111111111111111111111 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +0 1 2 +62273127 62273032 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +0 1 2 +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +0 1 10 +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +6227312762273031FFFFFFFF +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'0'; +0 + b'0' +0 +SELECT 0 + (0<<64); +0 + (0<<64) +0 +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +0 0 0 +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +0 0 0 +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +0 0 0 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +0 0 0 +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +000 +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +000 +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +000 +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<0); +0 + (1<<0) +1 +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<1); +0 + (1<<1) +2 +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<2); +0 + (1<<2) +4 +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +1 +2 +2 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +1 +2 +2 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +1 +10 +10 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<4); +0 + (1<<4) +16 +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +1 +12 +12 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<8); +0 + (1<<8) +256 +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<16); +0 + (1<<16) +65536 +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<32); +0 + (1<<32) +4294967296 +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +62273127 62273031 FFFFFFFF +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +62273127 14211630061 11111111111111111111111111111111 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +62273127 62273032 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +6227312762273031FFFFFFFF +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1'; +0 + b'1' +1 +SELECT 0 + (1<<64); +0 + (1<<64) +0 +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<0); +0 + (10<<0) +10 +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10', b'10', b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<1); +0 + (10<<1) +20 +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10', b'10', b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<2); +0 + (10<<2) +40 +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +2 +2 +2 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2 2 2 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +2 +2 +2 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +2 2 2 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +10 +10 +10 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +10 10 10 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2 2 10 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +2 3 4 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +2 3 4 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +10 11 100 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +222 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +222 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<4); +0 + (10<<4) +160 +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +2 +2 +2 +3 +5 +5 +7 +A +A +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2 2 2 +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +12 +12 +17 +2 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +17 17 17 +17 17 17 +17 17 17 +17 17 17 +2 2 2 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +10 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +10 10 10 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2 2 10 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +2 3 4 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +17 20 21 +17 20 21 +17 20 21 +17 20 21 +2 3 4 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +10 11 100 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +222 +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +171717 +171717 +171717 +171717 +222 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<8); +0 + (10<<8) +2560 +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2 2 2 +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +2 +25 +25 +252 +252 +3 +37 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +2 2 2 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +10 10 10 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2 2 10 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +2 3 4 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +2 3 4 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +10 11 100 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +222 +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +222 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<16); +0 + (10<<16) +655360 +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2 2 2 +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +2 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +2 2 2 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +10 10 10 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2 2 10 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +2 3 4 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +2 3 4 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +10 11 100 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +222 +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +222 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<32); +0 + (10<<32) +42949672960 +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2 2 2 +62273127 62273031 FFFFFFFF +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 37777777777 +2 2 2 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +10 10 10 +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2 2 10 +62273127 14211630061 11111111111111111111111111111111 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +2 3 4 +62273127 62273032 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +14211630447 14211630062 40000000001 +2 3 4 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +10 11 100 +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +222 +6227312762273031FFFFFFFF +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +142116304471421163006137777777777 +222 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010 +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'10'; +0 + b'10' +2 +SELECT 0 + (10<<64); +0 + (10<<64) +0 +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2 2 2 +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +2 2 2 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +10 10 10 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2 2 10 +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +222 +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +222 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010 +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<0); +0 + (1010<<0) +1010 +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT IGNORE INTO t1 VALUES (b'1010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010', b'1010', b'1010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<1); +0 + (1010<<1) +2020 +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010', b'1010', b'1010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<2); +0 + (1010<<2) +4040 +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010', b'1010', b'1010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +10 +10 +11 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11 11 11 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +3 3 11 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11 100 101 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +333 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +333 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<4); +0 + (1010<<4) +16160 +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +A +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +A A A +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +12 +12 +12 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +12 12 12 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +1010 +11 +111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010 1010 1010 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +A 12 1010 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +A B C +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +12 13 14 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1010 1011 1100 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +AAA +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +121212 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<8); +0 + (1010<<8) +258560 +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +A +AA +AA +F +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +A A A +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +12 12 12 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010 1010 1010 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +A 12 1010 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +A B C +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +12 13 14 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1010 1011 1100 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +AAA +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +121212 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<16); +0 + (1010<<16) +66191360 +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +A A A +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +12 12 12 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010 1010 1010 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +A 12 1010 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +A B C +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +12 13 14 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1010 1011 1100 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +AAA +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +121212 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<32); +0 + (1010<<32) +4337916968960 +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 FFFFFFFF +A A A +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +12 12 12 +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010 1010 1010 +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 11111111111111111111111111111111 +A 12 1010 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +62273127 62273032 100000001 +A B C +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +12 13 14 +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1010 1011 1100 +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +6227312762273031FFFFFFFF +AAA +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +121212 +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010 +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010'; +0 + b'1010' +10 +SELECT 0 + (1010<<64); +0 + (1010<<64) +0 +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +A A A +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +12 12 12 +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010 1010 1010 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +A 12 1010 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +AAA +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +121212 +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010 +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<0); +0 + (1010101010101010<<0) +1010101010101010 +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<1); +0 + (1010101010101010<<1) +2020202020202020 +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<2); +0 + (1010101010101010<<2) +4040404040404040 +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +10 +10 +11 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11 11 11 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +3 3 11 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11 100 101 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +333 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +333 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<4); +0 + (1010101010101010<<4) +16161616161616160 +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +F +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +F F F +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +12 +12 +17 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +17 17 17 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +F 10 11 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +17 20 21 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFF +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +171717 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<8); +0 + (1010101010101010<<8) +258585858585858560 +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<16); +0 + (1010101010101010<<16) +10857747576851136512 +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAA +F +FF +FFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +AAAA AAAA AAAA +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +125252 +17 +177 +1777 +17777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +125252 125252 125252 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010101010101010 1010101010101010 1010101010101010 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +AAAA 125252 1010101010101010 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +AAAA AAAB AAAC +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +125252 125253 125254 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1010101010101010 1010101010101011 1010101010101100 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +AAAAAAAAAAAA +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +125252125252125252 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010101010101010101010101010101010101010 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<32); +0 + (1010101010101010<<32) +8639297243838414848 +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'1010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 FFFFFFFF +AAAA AAAA AAAA +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +125252 125252 125252 +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010101010101010 1010101010101010 1010101010101010 +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 11111111111111111111111111111111 +AAAA 125252 1010101010101010 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +62273127 62273032 100000001 +AAAA AAAB AAAC +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +125252 125253 125254 +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1010101010101010 1010101010101011 1010101010101100 +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +6227312762273031FFFFFFFF +AAAAAAAAAAAA +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +125252125252125252 +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010101010101010101010101010101010101010 +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'1010101010101010'; +0 + b'1010101010101010' +43690 +SELECT 0 + (1010101010101010<<64); +0 + (1010101010101010<<64) +0 +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'1010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +AAAA AAAA AAAA +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +125252 125252 125252 +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010101010101010 1010101010101010 1010101010101010 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +AAAA 125252 1010101010101010 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +AAAAAAAAAAAA +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +125252125252125252 +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010101010101010101010101010101010101010 +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<0); +0 + (101010101010101010101010101010<<0) +18446744073709551615 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<1); +0 + (101010101010101010101010101010<<1) +18446744073709551614 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<2); +0 + (101010101010101010101010101010<<2) +18446744073709551612 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +10 +10 +11 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11 11 11 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +3 3 11 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11 100 101 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +333 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +333 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<4); +0 + (101010101010101010101010101010<<4) +18446744073709551600 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +F +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +F F F +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +12 +12 +17 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +17 17 17 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +F 10 11 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +17 20 21 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFF +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +171717 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<8); +0 + (101010101010101010101010101010<<8) +18446744073709551360 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<16); +0 + (101010101010101010101010101010<<16) +18446744073709486080 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<32); +0 + (101010101010101010101010101010<<32) +18446744069414584320 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2AAAAAAA 2AAAAAAA 2AAAAAAA +62273127 62273031 FFFFFFFF +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +5252525252 5252525252 5252525252 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +101010101010101010101010101010 101010101010101010101010101010 101010101010101010101010101010 +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2AAAAAAA 5252525252 101010101010101010101010101010 +62273127 14211630061 11111111111111111111111111111111 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +2AAAAAAA 2AAAAAAB 2AAAAAAC +62273127 62273032 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +5252525252 5252525253 5252525254 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +101010101010101010101010101010 101010101010101010101010101011 101010101010101010101010101100 +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +2AAAAAAA2AAAAAAA2AAAAAAA +6227312762273031FFFFFFFF +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +525252525252525252525252525252 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + b'101010101010101010101010101010'; +0 + b'101010101010101010101010101010' +715827882 +SELECT 0 + (101010101010101010101010101010<<64); +0 + (101010101010101010101010101010<<64) +0 +Warnings: +Warning 1916 Got overflow when converting '101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +2AAAAAAA 2AAAAAAA 2AAAAAAA +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +5252525252 5252525252 5252525252 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +101010101010101010101010101010 101010101010101010101010101010 101010101010101010101010101010 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +2AAAAAAA 5252525252 101010101010101010101010101010 +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +2AAAAAAA2AAAAAAA2AAAAAAA +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +525252525252525252525252525252 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<0); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<0) +18446744073709551615 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<1); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<1) +18446744073709551614 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<2); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<2) +18446744073709551612 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +10 +10 +11 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11 11 11 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +3 3 11 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11 100 101 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +333 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +333 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<4); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<4) +18446744073709551600 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +F +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +F F F +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +12 +12 +17 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +17 17 17 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +F 10 11 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +17 20 21 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFF +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +171717 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<8); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<8) +18446744073709551360 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<16); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<16) +18446744073709486080 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<32); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<32) +18446744069414584320 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 FFFFFFFF +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 11111111111111111111111111111111 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +62273127 62273032 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +6227312762273031FFFFFFFF +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<64); +0 + (1010101010101010101010101010101010101010101010101010101010101010<<64) +0 +Warnings: +Warning 1916 Got overflow when converting '1010101010101010101010101010101010101010101010101010101010101010' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1252525252525252525252 1252525252525252525252 1252525252525252525252 +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +AAAAAAAAAAAAAAAA 1252525252525252525252 1010101010101010101010101010101010101010101010101010101010101010 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +125252525252525252525212525252525252525252521252525252525252525252 +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<0); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<0) +18446744073709551615 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<1); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<1) +18446744073709551614 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT IGNORE INTO t1 VALUES (b'10'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +1 +1 +1 +1 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +1 1 1 +1 1 1 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +1 +1 +1 +1 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +1 1 1 +1 1 1 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +1 +1 +1 +1 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +1 1 1 +1 1 1 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +1 2 3 +1 2 3 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +1 2 3 +1 2 3 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1 10 11 +1 10 11 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +111 +111 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +111 +111 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111 +111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 1 +1 1 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 1 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +1 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +1 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 1 +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +1 1 +0 1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1 1 +0 1 +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +1 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 1 +1 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x01' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<2); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<2) +18446744073709551612 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +1 +1 +1 +2 +2 +3 +3 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +3 3 3 +3 3 3 +3 3 3 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +1 +1 +1 +10 +10 +11 +11 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11 11 11 +11 11 11 +11 11 11 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +3 3 11 +3 3 11 +3 3 11 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +3 4 5 +3 4 5 +3 4 5 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11 100 101 +11 100 101 +11 100 101 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +333 +333 +333 +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +333 +333 +333 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111 +111111 +111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 3 +3 3 +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +2 0 3 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +11 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +3 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 3 +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +3 3 +0 3 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3 3 +0 3 +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +3 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 3 +2 2 +3 3 +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 3 +3 3 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x03' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<4); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<4) +18446744073709551600 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +1 +1 +1 +2 +2 +3 +5 +5 +7 +A +A +F +F +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +F F F +F F F +F F F +F F F +F F F +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +1 +1 +1 +12 +12 +17 +17 +2 +2 +3 +5 +5 +7 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +17 17 17 +17 17 17 +17 17 17 +17 17 17 +17 17 17 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +11 +111 +1111 +1111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +1111 1111 1111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +F 17 1111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +F 10 11 +F 10 11 +F 10 11 +F 10 11 +F 10 11 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +17 20 21 +17 20 21 +17 20 21 +17 20 21 +17 20 21 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +1111 10000 10001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFF +FFF +FFF +FFF +FFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +171717 +171717 +171717 +171717 +171717 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111 +111111111111 +111111111111 +111111111111 +111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +INSERT IGNORE INTO t5 VALUES(96,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 F +4 F +5 F +9 F +F F +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +5 0 15 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +1001 +101 +1111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +17 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 +  +  +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +hex(c1) hex(c2) +0 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +hex(c1) hex(c2) +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +5 F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +hex(c1) hex(c2) +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +4 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +F F +9 F +5 F +4 F +0 F +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +F F +9 F +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +SELECT * FROM t7; +c1 + + + + + + + + + + + + + + + + + + + + + + +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c1' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c1' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c1' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c1' at row 35 +Warning 1264 Out of range value for column 'c1' at row 36 +Warning 1264 Out of range value for column 'c1' at row 37 +Warning 1264 Out of range value for column 'c1' at row 38 +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +4 +5 +9 +F +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 F +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 F +6 D +7 F +8 D +9 D +A A +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1062 Duplicate entry '\x0F' for key 'PRIMARY' +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1264 Out of range value for column 'c1' at row 5 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c1' at row 6 +Warning 1264 Out of range value for column 'c2' at row 6 +Warning 1264 Out of range value for column 'c2' at row 7 +Warning 1264 Out of range value for column 'c1' at row 8 +Warning 1264 Out of range value for column 'c2' at row 8 +Warning 1264 Out of range value for column 'c1' at row 9 +Warning 1264 Out of range value for column 'c2' at row 9 +Warning 1264 Out of range value for column 'c1' at row 10 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c1' at row 11 +Warning 1264 Out of range value for column 'c2' at row 11 +Warning 1264 Out of range value for column 'c1' at row 12 +Warning 1264 Out of range value for column 'c2' at row 12 +Warning 1264 Out of range value for column 'c1' at row 13 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c1' at row 14 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c1' at row 15 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c1' at row 16 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c1' at row 17 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c1' at row 18 +Warning 1264 Out of range value for column 'c2' at row 18 +Warning 1264 Out of range value for column 'c1' at row 19 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c1' at row 21 +Warning 1264 Out of range value for column 'c2' at row 21 +Warning 1264 Out of range value for column 'c1' at row 22 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c1' at row 23 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c1' at row 24 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c1' at row 25 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c1' at row 26 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c1' at row 27 +Warning 1264 Out of range value for column 'c2' at row 27 +Warning 1264 Out of range value for column 'c1' at row 28 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c1' at row 29 +Warning 1264 Out of range value for column 'c2' at row 29 +Warning 1264 Out of range value for column 'c2' at row 30 +Warning 1264 Out of range value for column 'c1' at row 31 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 32 +Warning 1264 Out of range value for column 'c1' at row 33 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c1' at row 34 +Warning 1264 Out of range value for column 'c2' at row 34 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 F +4 F +5 F +9 F +F F +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<8); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<8) +18446744073709551360 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +1F +2 +2 +2A +2A +3 +3F +5 +5 +55 +55 +7 +7F +A +A +AA +AA +F +FF +FF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +FF FF FF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +17 +177 +2 +2 +25 +25 +252 +252 +3 +37 +377 +377 +5 +5 +52 +52 +7 +77 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +377 377 377 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +11111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +11111111 11111111 11111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +FF 377 11111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +FF 100 101 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +377 400 401 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +11111111 100000000 100000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +FFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +377377377 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +377 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + ÿ +{ ÿ +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +38 FF +39 87 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 FF +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +5 B2 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C FF +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F FF +7B FF +7A 76 +77 FF +76 FF +74 FF +6F FF +6C 43 +6A FF +68 FF +60 NULL +5F 2E +5E FF +58 FF +57 FF +4F FF +4E 7B +4D 85 +4B 2A +45 CE +44 FF +3D 98 +3C FF +3B BC +39 87 +38 FF +31 FF +2C FF +22 CA +1F FF +1E 53 +1D FF +1C FF +18 FF +17 24 +9 FF +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F FF +7B FF +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +! +# +$ +% +& +( +) +* ++ +- +1 +9 += +@ +A +Z +^ +_ +` +a +z +~ +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 3 +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 FF +1C FF +1D FF +1E 53 +1F FF +22 CA +2C FF +31 FF +38 FF +39 87 +3B BC +3C FF +3D 98 +4 F5 +44 FF +45 CE +4B 2A +4D 85 +4E 7B +4F FF +5 B2 +57 FF +58 FF +5E FF +5F 2E +60 NULL +68 FF +6A FF +6C 43 +6F FF +74 FF +76 FF +77 FF +7A 76 +7B FF +7F FF +9 FF +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 FF +76 FF +77 FF +7A FF +7B FF +7F FF +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c2' at row 5 +Warning 1264 Out of range value for column 'c2' at row 10 +Warning 1264 Out of range value for column 'c2' at row 13 +Warning 1264 Out of range value for column 'c2' at row 14 +Warning 1264 Out of range value for column 'c2' at row 15 +Warning 1264 Out of range value for column 'c2' at row 16 +Warning 1264 Out of range value for column 'c2' at row 17 +Warning 1264 Out of range value for column 'c2' at row 19 +Warning 1264 Out of range value for column 'c2' at row 20 +Warning 1264 Out of range value for column 'c2' at row 22 +Warning 1264 Out of range value for column 'c2' at row 23 +Warning 1264 Out of range value for column 'c2' at row 24 +Warning 1264 Out of range value for column 'c2' at row 25 +Warning 1264 Out of range value for column 'c2' at row 26 +Warning 1264 Out of range value for column 'c2' at row 28 +Warning 1264 Out of range value for column 'c2' at row 31 +Warning 1264 Out of range value for column 'c2' at row 33 +Warning 1264 Out of range value for column 'c2' at row 34 +Warning 1264 Out of range value for column 'c2' at row 35 +Warning 1264 Out of range value for column 'c2' at row 36 +Warning 1264 Out of range value for column 'c2' at row 37 +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<16); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<16) +18446744073709486080 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +1F +1FF +1FFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +3 +3F +3FF +3FFF +5 +5 +55 +55 +555 +555 +5555 +5555 +7 +7F +7FF +7FFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +F +FF +FFF +FFFF +FFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +FFFF FFFF FFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +17 +177 +1777 +17777 +177777 +177777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +3 +37 +377 +3777 +37777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +7 +77 +777 +7777 +77777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +177777 177777 177777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +1111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +1111111111111111 1111111111111111 1111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +FFFF 177777 1111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +FFFF 10000 10001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +177777 200000 200001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +1111111111111111 10000000000000000 10000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +177777177777177777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +9 16B +5 B2 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<32); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<32) +18446744069414584320 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 FFFFFFFF +FFFFFFFF 62273031 FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +FFFFFFFF FFFFFFFF FFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +37777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 37777777777 +37777777777 14211630061 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +37777777777 37777777777 37777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1100010001001110011000100100111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 1100010001001110011000000110001 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 11111111111111111111111111111111 +FFFFFFFF 14211630061 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +FFFFFFFF 37777777777 11111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +HEX(c1+0) HEX(c2+1) HEX(c3+2) +62273127 62273032 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 100000000 100000001 +FFFFFFFF 62273032 100000001 +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +OCT(c1+0) OCT(c2+1) OCT(c3+2) +14211630447 14211630062 40000000001 +37777777777 14211630062 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +37777777777 40000000000 40000000001 +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +BIN(c1+0) BIN(c2+1) BIN(c3+2) +1100010001001110011000100100111 1100010001001110011000000110010 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 100000000000000000000000000000000 100000000000000000000000000000001 +11111111111111111111111111111111 1100010001001110011000000110010 100000000000000000000000000000001 +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +6227312762273031FFFFFFFF +FFFFFFFF62273031FFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +142116304471421163006137777777777 +377777777771421163006137777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +377777777773777777777737777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +1100010001001110011000100100111110001000100111001100000011000111111111111111111111111111111111 +11111111111111111111111111111111110001000100111001100000011000111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +1F 1B6 +1E 53 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 16 +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<64); +0 + (10101010101010101010101010101010101010101010101010101010101010101<<64) +0 +Warnings: +Warning 1916 Got overflow when converting '10101010101010101010101010101010101010101010101010101010101010101' to UNSIGNED INT. Value truncated +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +set @v1=64; +set @v2=64/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=63; +set @v2=63/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=62; +set @v2=62/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=61; +set @v2=61/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=60; +set @v2=60/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=59; +set @v2=59/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=58; +set @v2=58/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=57; +set @v2=57/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=56; +set @v2=56/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=55; +set @v2=55/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=54; +set @v2=54/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=53; +set @v2=53/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=52; +set @v2=52/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=51; +set @v2=51/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=50; +set @v2=50/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=49; +set @v2=49/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=48; +set @v2=48/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=47; +set @v2=47/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=46; +set @v2=46/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=45; +set @v2=45/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=44; +set @v2=44/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=43; +set @v2=43/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111111'","b'01010101010101010101010101010101010101010101","b'10101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=42; +set @v2=42/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=41; +set @v2=41/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111111'","b'010101010101010101010101010101010101010101","b'101010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=40; +set @v2=40/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=39; +set @v2=39/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111111'","b'0101010101010101010101010101010101010101","b'1010101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=38; +set @v2=38/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=37; +set @v2=37/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111111'","b'01010101010101010101010101010101010101","b'10101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=36; +set @v2=36/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=35; +set @v2=35/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111111'","b'010101010101010101010101010101010101","b'101010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=34; +set @v2=34/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=33; +set @v2=33/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111111'","b'0101010101010101010101010101010101","b'1010101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=32; +set @v2=32/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=31; +set @v2=31/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111111'","b'01010101010101010101010101010101","b'10101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=30; +set @v2=30/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=29; +set @v2=29/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111111'","b'010101010101010101010101010101","b'101010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=28; +set @v2=28/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=27; +set @v2=27/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111111'","b'0101010101010101010101010101","b'1010101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=26; +set @v2=26/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=25; +set @v2=25/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111111'","b'01010101010101010101010101","b'10101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=24; +set @v2=24/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=23; +set @v2=23/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111111'","b'010101010101010101010101","b'101010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=22; +set @v2=22/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=21; +set @v2=21/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111111'","b'0101010101010101010101","b'1010101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=20; +set @v2=20/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=19; +set @v2=19/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111111'","b'01010101010101010101","b'10101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=18; +set @v2=18/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=17; +set @v2=17/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111111'","b'010101010101010101","b'101010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=16; +set @v2=16/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=15; +set @v2=15/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111111'","b'0101010101010101","b'1010101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=14; +set @v2=14/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=13; +set @v2=13/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111111'","b'01010101010101","b'10101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=12; +set @v2=12/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=11; +set @v2=11/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111111'","b'010101010101","b'101010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=10; +set @v2=10/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=9; +set @v2=9/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111111'","b'0101010101","b'1010101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=8; +set @v2=8/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=7; +set @v2=7/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111111'","b'01010101","b'10101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=6; +set @v2=6/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=5; +set @v2=5/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'010101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'101010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11111'","b'010101","b'101010'"); +Warnings: +Warning 1264 Out of range value for column 'c3' at row 1 +set @v1=4; +set @v2=4/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1111'","b'0101","b'1010'"); +set @v1=3; +set @v2=3/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'111'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'000'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'0101'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'1010'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'111'","b'0101","b'1010'"); +set @v1=2; +set @v2=2/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'11'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'00'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'11'","b'01","b'10'"); +set @v1=1; +set @v2=1/2; +set @v3=repeat('1',@v1); +INSERT INTO t1 VALUES (b'1'); +set @v3=repeat('0',@v1); +INSERT INTO t1 VALUES (b'0'); +set @v3=repeat('01',@v2); +INSERT INTO t1 VALUES (b'01'); +set @v3=repeat('10',@v2); +INSERT INTO t1 VALUES (b'10'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +INSERT IGNORE INTO t2 VALUES ("b'1'","b'01","b'10'"); +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c3' at row 1 +SELECT HEX(c1) FROM t1; +HEX(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +15 +15 +155 +155 +1555 +1555 +15555 +15555 +155555 +155555 +1555555 +1555555 +15555555 +15555555 +155555555 +155555555 +1555555555 +1555555555 +15555555555 +15555555555 +155555555555 +155555555555 +1555555555555 +1555555555555 +15555555555555 +15555555555555 +155555555555555 +155555555555555 +1555555555555555 +1555555555555555 +1F +1FF +1FFF +1FFFF +1FFFFF +1FFFFFF +1FFFFFFF +1FFFFFFFF +1FFFFFFFFF +1FFFFFFFFFF +1FFFFFFFFFFF +1FFFFFFFFFFFF +1FFFFFFFFFFFFF +1FFFFFFFFFFFFFF +1FFFFFFFFFFFFFFF +2 +2 +2A +2A +2AA +2AA +2AAA +2AAA +2AAAA +2AAAA +2AAAAA +2AAAAA +2AAAAAA +2AAAAAA +2AAAAAAA +2AAAAAAA +2AAAAAAAA +2AAAAAAAA +2AAAAAAAAA +2AAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +2AAAAAAAAAAAAAAA +3 +3F +3FF +3FFF +3FFFF +3FFFFF +3FFFFFF +3FFFFFFF +3FFFFFFFF +3FFFFFFFFF +3FFFFFFFFFF +3FFFFFFFFFFF +3FFFFFFFFFFFF +3FFFFFFFFFFFFF +3FFFFFFFFFFFFFF +3FFFFFFFFFFFFFFF +5 +5 +55 +55 +555 +555 +5555 +5555 +55555 +55555 +555555 +555555 +5555555 +5555555 +55555555 +55555555 +555555555 +555555555 +5555555555 +5555555555 +55555555555 +55555555555 +555555555555 +555555555555 +5555555555555 +5555555555555 +55555555555555 +55555555555555 +555555555555555 +555555555555555 +5555555555555555 +5555555555555555 +7 +7F +7FF +7FFF +7FFFF +7FFFFF +7FFFFFF +7FFFFFFF +7FFFFFFFF +7FFFFFFFFF +7FFFFFFFFFF +7FFFFFFFFFFF +7FFFFFFFFFFFF +7FFFFFFFFFFFFF +7FFFFFFFFFFFFFF +7FFFFFFFFFFFFFFF +A +A +AA +AA +AAA +AAA +AAAA +AAAA +AAAAA +AAAAA +AAAAAA +AAAAAA +AAAAAAA +AAAAAAA +AAAAAAAA +AAAAAAAA +AAAAAAAAA +AAAAAAAAA +AAAAAAAAAA +AAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +F +FF +FFF +FFFF +FFFFF +FFFFFF +FFFFFFF +FFFFFFFF +FFFFFFFFF +FFFFFFFFFF +FFFFFFFFFFF +FFFFFFFFFFFF +FFFFFFFFFFFFF +FFFFFFFFFFFFFF +FFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +HEX(c1) HEX(c2) HEX(c3) +62273127 62273031 6227313027 +6227313127 62273031 6227313027 +622731313127 622730313031 62273130313027 +62273131313127 622730313031 62273130313027 +6227313131313127 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF 6227303130313031 FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF +SELECT OCT(c1) FROM t1; +OCT(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +12 +12 +125 +125 +1252 +1252 +12525 +12525 +125252 +125252 +1252525 +1252525 +12525252 +12525252 +125252525 +125252525 +1252525252 +1252525252 +12525252525 +12525252525 +125252525252 +125252525252 +1252525252525 +1252525252525 +12525252525252 +12525252525252 +125252525252525 +125252525252525 +1252525252525252 +1252525252525252 +12525252525252525 +12525252525252525 +125252525252525252 +125252525252525252 +1252525252525252525 +1252525252525252525 +12525252525252525252 +12525252525252525252 +125252525252525252525 +125252525252525252525 +1252525252525252525252 +1252525252525252525252 +17 +177 +1777 +17777 +177777 +1777777 +17777777 +177777777 +1777777777 +17777777777 +177777777777 +1777777777777 +17777777777777 +177777777777777 +1777777777777777 +17777777777777777 +177777777777777777 +1777777777777777777 +17777777777777777777 +177777777777777777777 +1777777777777777777777 +1777777777777777777777 +2 +2 +25 +25 +252 +252 +2525 +2525 +25252 +25252 +252525 +252525 +2525252 +2525252 +25252525 +25252525 +252525252 +252525252 +2525252525 +2525252525 +25252525252 +25252525252 +252525252525 +252525252525 +2525252525252 +2525252525252 +25252525252525 +25252525252525 +252525252525252 +252525252525252 +2525252525252525 +2525252525252525 +25252525252525252 +25252525252525252 +252525252525252525 +252525252525252525 +2525252525252525252 +2525252525252525252 +25252525252525252525 +25252525252525252525 +252525252525252525252 +252525252525252525252 +3 +37 +377 +3777 +37777 +377777 +3777777 +37777777 +377777777 +3777777777 +37777777777 +377777777777 +3777777777777 +37777777777777 +377777777777777 +3777777777777777 +37777777777777777 +377777777777777777 +3777777777777777777 +37777777777777777777 +377777777777777777777 +5 +5 +52 +52 +525 +525 +5252 +5252 +52525 +52525 +525252 +525252 +5252525 +5252525 +52525252 +52525252 +525252525 +525252525 +5252525252 +5252525252 +52525252525 +52525252525 +525252525252 +525252525252 +5252525252525 +5252525252525 +52525252525252 +52525252525252 +525252525252525 +525252525252525 +5252525252525252 +5252525252525252 +52525252525252525 +52525252525252525 +525252525252525252 +525252525252525252 +5252525252525252525 +5252525252525252525 +52525252525252525252 +52525252525252525252 +525252525252525252525 +525252525252525252525 +7 +77 +777 +7777 +77777 +777777 +7777777 +77777777 +777777777 +7777777777 +77777777777 +777777777777 +7777777777777 +77777777777777 +777777777777777 +7777777777777777 +77777777777777777 +777777777777777777 +7777777777777777777 +77777777777777777777 +777777777777777777777 +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +OCT(c1) OCT(c2) OCT(c3) +14211630447 14211630061 6104714230047 +1421163046114230447 3042346014230061 1421163046014230047 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 1777777777777777777777 1777777777777777777777 +1777777777777777777777 610471403046014230061 1777777777777777777777 +3042346114230447 3042346014230061 1421163046014230047 +6104714230447 14211630061 6104714230047 +610471423046114230447 610471403046014230061 1777777777777777777777 +SELECT BIN(c1) FROM t1; +BIN(c1) +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +10 +10 +101 +101 +1010 +1010 +10101 +10101 +101010 +101010 +1010101 +1010101 +10101010 +10101010 +101010101 +101010101 +1010101010 +1010101010 +10101010101 +10101010101 +101010101010 +101010101010 +1010101010101 +1010101010101 +10101010101010 +10101010101010 +101010101010101 +101010101010101 +1010101010101010 +1010101010101010 +10101010101010101 +10101010101010101 +101010101010101010 +101010101010101010 +1010101010101010101 +1010101010101010101 +10101010101010101010 +10101010101010101010 +101010101010101010101 +101010101010101010101 +1010101010101010101010 +1010101010101010101010 +10101010101010101010101 +10101010101010101010101 +101010101010101010101010 +101010101010101010101010 +1010101010101010101010101 +1010101010101010101010101 +10101010101010101010101010 +10101010101010101010101010 +101010101010101010101010101 +101010101010101010101010101 +1010101010101010101010101010 +1010101010101010101010101010 +10101010101010101010101010101 +10101010101010101010101010101 +101010101010101010101010101010 +101010101010101010101010101010 +1010101010101010101010101010101 +1010101010101010101010101010101 +10101010101010101010101010101010 +10101010101010101010101010101010 +101010101010101010101010101010101 +101010101010101010101010101010101 +1010101010101010101010101010101010 +1010101010101010101010101010101010 +10101010101010101010101010101010101 +10101010101010101010101010101010101 +101010101010101010101010101010101010 +101010101010101010101010101010101010 +1010101010101010101010101010101010101 +1010101010101010101010101010101010101 +10101010101010101010101010101010101010 +10101010101010101010101010101010101010 +101010101010101010101010101010101010101 +101010101010101010101010101010101010101 +1010101010101010101010101010101010101010 +1010101010101010101010101010101010101010 +10101010101010101010101010101010101010101 +10101010101010101010101010101010101010101 +101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101 +10101010101010101010101010101010101010101010101010101010101010 +10101010101010101010101010101010101010101010101010101010101010 +101010101010101010101010101010101010101010101010101010101010101 +101010101010101010101010101010101010101010101010101010101010101 +1010101010101010101010101010101010101010101010101010101010101010 +1010101010101010101010101010101010101010101010101010101010101010 +11 +111 +1111 +11111 +111111 +1111111 +11111111 +111111111 +1111111111 +11111111111 +111111111111 +1111111111111 +11111111111111 +111111111111111 +1111111111111111 +11111111111111111 +111111111111111111 +1111111111111111111 +11111111111111111111 +111111111111111111111 +1111111111111111111111 +11111111111111111111111 +111111111111111111111111 +1111111111111111111111111 +11111111111111111111111111 +111111111111111111111111111 +1111111111111111111111111111 +11111111111111111111111111111 +111111111111111111111111111111 +1111111111111111111111111111111 +11111111111111111111111111111111 +111111111111111111111111111111111 +1111111111111111111111111111111111 +11111111111111111111111111111111111 +111111111111111111111111111111111111 +1111111111111111111111111111111111111 +11111111111111111111111111111111111111 +111111111111111111111111111111111111111 +1111111111111111111111111111111111111111 +11111111111111111111111111111111111111111 +111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +BIN(c1) BIN(c2) BIN(c3) +1100010001001110011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +110001000100111001100010011000100100111 1100010001001110011000000110001 110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111 11000100010011100110000001100010011000000110001 1100010001001110011000100110000001100010011000000100111 +110001000100111001100010011000100110001001100010011000100100111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 110001000100111001100000011000100110000001100010011000000110001 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +HEX(c1) OCT(c2) BIN(c3) +62273127 14211630061 110001000100111001100010011000000100111 +6227313127 14211630061 110001000100111001100010011000000100111 +622731313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +62273131313127 3042346014230061 1100010001001110011000100110000001100010011000000100111 +6227313131313127 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 1777777777777777777777 1111111111111111111111111111111111111111111111111111111111111111 +FFFFFFFFFFFFFFFF 610471403046014230061 1111111111111111111111111111111111111111111111111111111111111111 +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +ERROR 22003: BIGINT UNSIGNED value is out of range in '`test`.`t2`.`c2` + 1' +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +CONCAT(HEX(c1),HEX(c2),HEX(c3)) +62273127622730316227313027 +6227313127622730316227313027 +62273131312762273031303162273130313027 +6227313131312762273031303162273130313027 +62273131313131276227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF6227303130313031FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +CONCAT(OCT(c1),OCT(c2),OCT(c3)) +14211630447142116300616104714230047 +142116304611423044730423460142300611421163046014230047 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +177777777777777777777717777777777777777777771777777777777777777777 +17777777777777777777776104714030460142300611777777777777777777777 +304234611423044730423460142300611421163046014230047 +6104714230447142116300616104714230047 +6104714230461142304476104714030460142300611777777777777777777777 +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +CONCAT(BIN(c1),BIN(c2),BIN(c3)) +11000100010011100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +1100010001001110011000100110001001001111100010001001110011000000110001110001000100111001100010011000000100111 +11000100010011100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100100111110001000100111001100000011000100110000001100011100010001001110011000100110000001100010011000000100111 +1100010001001110011000100110001001100010011000100110001001001111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111100010001001110011000000110001001100000011000100110000001100011111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +CREATE TABLE t3 (c1 BIT(65)); +ERROR 42000: Display width out of range for 'c1' (max = 64) +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +SELECT HEX(c1),HEX(c2) FROM t5; +HEX(c1) HEX(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +total_rows min_value max(c1) +39 0 127 +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +OCT(c2) +706 +SELECT bin(c1) FROM t5; +bin(c1) +0 +100 +100010 +1000100 +1000101 +1001 +1001011 +1001101 +1001110 +1001111 +101 +1010111 +101100 +1011000 +10111 +1011110 +1011111 +11000 +1100000 +110001 +1101000 +1101010 +1101100 +1101111 +11100 +111000 +111001 +11101 +1110100 +111011 +1110110 +1110111 +11110 +111100 +111101 +1111010 +1111011 +11111 +1111111 +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +oct(c1) +177 +173 +172 +167 +166 +164 +157 +154 +152 +150 +140 +137 +136 +130 +127 +117 +116 +115 +113 +105 +104 +75 +74 +73 +71 +70 +61 +54 +42 +37 +36 +35 +34 +30 +27 +11 +5 +4 +0 +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +c1 c2 + “ +{ › +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +hex(c1) hex(c2) +0 B1 +4 F5 +5 B2 +9 16B +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +hex(c1) hex(c2) +0 B1 +4 F5 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +3D 98 +3C 157 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +hex(c1) hex(c2) +7F 193 +7B 19B +7A 76 +77 170 +76 17C +74 186 +6F 170 +6C 43 +6A 1BE +68 118 +60 NULL +5F 2E +5E 1D4 +58 19B +57 15F +4F 15D +4E 7B +4D 85 +4B 2A +45 CE +44 1C6 +3D 98 +3C 157 +3B BC +39 87 +38 17B +31 159 +2C 133 +22 CA +1F 1B6 +1E 53 +1D 18F +1C 1F3 +18 18E +17 24 +9 16B +5 B2 +4 F5 +0 B1 +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +hex(c1) hex(c2) +7F 193 +7B 19B +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +SELECT * FROM t7; +c1 +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +UPDATE t6 SET c2=NULL WHERE c1=23; +UPDATE t6 SET c2=10 WHERE c2=NULL; +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; +UPDATE t6 SET c2=-1 WHERE c1=94; +SELECT hex(c1) FROM t5 WHERE c1<>0; +hex(c1) +17 +18 +1C +1D +1E +1F +22 +2C +31 +38 +39 +3B +3C +3D +4 +44 +45 +4B +4D +4E +4F +5 +57 +58 +5E +5F +60 +68 +6A +6C +6F +74 +76 +77 +7A +7B +7F +9 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t5 SET c1=NULL WHERE c1<>0; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 B1 +17 24 +18 18E +1C 1F3 +1D 18F +1E 53 +1F 1B6 +22 CA +2C 133 +31 159 +38 17B +39 87 +3B BC +3C 157 +3D 98 +4 F5 +44 1C6 +45 CE +4B 2A +4D 85 +4E 7B +4F 15D +5 B2 +57 15F +58 19B +5E 1D4 +5F 2E +60 NULL +68 118 +6A 1BE +6C 43 +6F 170 +74 186 +76 17C +77 170 +7A 76 +7B 19B +7F 193 +9 16B +SET SQL_MODE=DEFAULT; +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +0 8E +17 A5 +18 A6 +1C AA +1D AB +1E AC +1F AD +22 B0 +2C BA +31 BF +38 C6 +39 C7 +3B C9 +3C CA +3D CB +4 92 +44 D2 +45 D3 +4B D9 +4D DB +4E DC +4F DD +5 93 +57 E5 +58 E6 +5E EC +5F ED +60 EE +68 F6 +6A F8 +6C FA +6F FD +74 102 +76 104 +77 105 +7A 108 +7B 109 +7F 10D +9 97 +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +6 61 +7 7 +8 8 +9 9 +A A +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 D +6 D +7 D +8 D +9 D +A A +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 B +2 2 +3 3 +4 4 +5 17 +6 D +7 17 +8 D +9 D +A A +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +DELETE FROM t6 WHERE c2=NULL; +DELETE FROM t6 WHERE c1=b'101' AND c2=178; +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; +DELETE FROM t6 WHERE c1 IN (30,b'101',88); +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +DELETE FROM t5 WHERE c1=6 AND c2=6; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +5 5 +7 7 +8 8 +9 9 +A A +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +1 1 +2 2 +3 3 +4 4 +A A +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +SELECT hex(c1),hex(c2) FROM t5; +hex(c1) hex(c2) +2 2 +3 3 +4 4 +A A +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +Warnings: +Note 1051 Unknown table 'test.t3' diff --git a/mysql-test/suite/engines/iuds/r/update_decimal.result b/mysql-test/suite/engines/iuds/r/update_decimal.result new file mode 100644 index 00000000..8bedcf8a --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/update_decimal.result @@ -0,0 +1,1156 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 DECIMAL(10,5) UNSIGNED NOT NULL, c2 DECIMAL(10,5) SIGNED NULL, c3 DECIMAL, c4 INT, UNIQUE INDEX idx(c1,c4)); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Note 1265 Data truncated for column 'c3' at row 1 +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +1.00000 1.00000 1 7 +100.00000 1001.00000 10000 4 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11111.00009 -9999.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE t1 SET c1='10001.00001' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +10000.00000 0.00001 +10001.00001 1001.00000 +11111.00009 -9999.99999 +99999.99999 -99999.99999 +99999.99999 99999.99999 +99999.99999 99999.99999 +UPDATE IGNORE t1 SET c1=c2+c3 WHERE c3 < 10000; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 8 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +10001.00001 1001.00000 10000 4 +11111.00009 -9999.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE t1 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 1101.00000 10000 4 +11111.00009 -9899.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE t1 SET c2=NULL WHERE c4=4; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 NULL 10000 4 +11111.00009 -9899.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE t1 SET c2=1.0e+5 WHERE c2=NULL; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 NULL 10000 4 +11111.00009 -9899.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE IGNORE t1 SET c1=-1.0e+2 WHERE c4=2; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +SHOW WARNINGS; +Level Code Message +Warning 1264 Out of range value for column 'c1' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 -9899.99999 9999999 2 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 NULL 10000 4 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE IGNORE t1 SET c1=1.0e+20 WHERE c4=2; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +SHOW WARNINGS; +Level Code Message +Warning 1264 Out of range value for column 'c1' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 NULL 10000 4 +2.00000 1.00000 1 7 +99999.99999 -9899.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE t1 SET c1=0.9999999999e+5 WHERE c3=1 AND c4=7; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 NULL 10000 4 +99999.99999 -9899.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 1.00000 1 7 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE t1 SET c1=1.2e+2,c2=c4+c2 WHERE c3=9999999999 OR c2=1.0e-5; +SELECT * FROM t1 WHERE c1=1.2e+2; +c1 c2 c3 c4 +120.00000 -99994.99999 9999999999 5 +UPDATE t1 SET c3=1234567890 WHERE c4 IN (4,5,6); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 0 8 +0.00000 0.00000 1234567890 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +10001.00001 NULL 1234567890 4 +120.00000 -99994.99999 1234567890 5 +99999.99999 -9899.99999 9999999 2 +99999.99999 1.00000 1 7 +99999.99999 99999.99999 1000000000 3 +99999.99999 99999.99999 111111111 9 +UPDATE IGNORE t1 SET c1=99999.999999 WHERE c4=7; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 7 +SELECT c1,c4 FROM t1; +c1 c4 +0.00000 6 +0.00000 8 +100.05000 1 +10000.00000 10 +10001.00001 4 +120.00000 5 +99999.99999 2 +99999.99999 3 +99999.99999 7 +99999.99999 9 +UPDATE t1 SET c2=-9999.0099 WHERE c4=5; +SELECT c2,c4 FROM t1; +c2 c4 +-0.05000 1 +-0.10000 8 +-9899.99999 2 +-9999.00990 5 +0.00000 6 +1.00000 7 +100.00001 10 +99999.99999 3 +99999.99999 9 +NULL 4 +SELECT c1 FROM t1 WHERE c1>1000; +c1 +10000.00000 +10001.00001 +99999.99999 +99999.99999 +99999.99999 +99999.99999 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c1>1000; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c1>1000; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT c1 from t1 WHERE c1>1000; +c1 +SET SQL_MODE=DEFAULT; +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22222.22222 -22222.22222 2222222222 2 +33333.33333 -33333.33333 3333333333 3 +44444.44444 -44444.44444 4444444444 4 +55555.55555 -55555.55555 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +c1 +22222.22222 +33333.33333 +44444.44444 +55555.55555 +UPDATE t1 SET c1=c1-100, c2=c1+c2 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +44444.44444 4444444444 4 +55555.55555 5555555555 5 +66666.66666 6666666666 6 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +UPDATE t1,t2,t3,t4 SET t2.c1=t2.c1+t3.c1, t3.c2=t3.c2-t2.c1, t4.c1=t1.c1*t1.c3 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888' ; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +UPDATE t2 SET t2.c1='44444.44444', t2.c3=4 WHERE t2.c1='22222.22222' AND t2.c3=2; +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +33333.33333 3333333333 3 +44444.44444 2222222222 4 +update t2 set t2.c1='99999.99999' where c1 BETWEEN '11111' AND '44444'; +SELECT * FROM t2; +c1 c2 c3 +44444.44444 2222222222 4 +99999.99999 1111111111 1 +99999.99999 3333333333 3 +UPDATE t2 SET c1=c1-1,c2=c2-1 WHERE c1 IN ('44444.44444','99999.99999'); +SELECT * FROM t2; +c1 c2 c3 +44443.44444 2222222221 4 +99998.99999 1111111110 1 +99998.99999 3333333332 3 +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE IGNORE t1 SET c3='asdf' WHERE c1='11111.11111'; +Warnings: +Warning 1366 Incorrect decimal value: 'asdf' for column `test`.`t1`.`c3` at row 1 +SELECT c3 FROM t1; +c3 +0 +2222222222 +3333333333 +4444444444 +5555555555 +6666666666 +7777777777 +8888888888 +9999999999 +UPDATE IGNORE t1 SET c2="1 e 1" WHERE c4=2; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 2 +SELECT c2 FROM t1; +c2 +-100.00000 +-100.00000 +-100.00000 +-11111.11111 +-66666.66666 +-77777.77777 +-88888.88888 +-99999.99999 +1.00000 +UPDATE t4 SET c1=88888.88888,c3=8 WHERE c3=7; +ERROR 23000: Duplicate entry '88888.88888-8' for key 'idx4' +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 0 1 +22122.22222 1.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +22222.22222 4444444444 1 +55555.55555 5555555555 2 +66666.66666 6666666666 3 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +DROP TABLES IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 FLOAT(10,5) UNSIGNED NOT NULL, c2 FLOAT(10,5) SIGNED NULL, c3 FLOAT, c4 INT, UNIQUE INDEX idx(c1,c4)); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +1.00000 1.00000 1 7 +100.00000 1001.00000 10000 4 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +11111.00000 -10000.00000 10000000 2 +UPDATE t1 SET c1='10001.00001' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +10000.00000 0.00001 +100000.00000 -100000.00000 +100000.00000 100000.00000 +100000.00000 100000.00000 +10001.00000 1001.00000 +11111.00000 -10000.00000 +UPDATE IGNORE t1 SET c1=c2+c3 WHERE c3 < 10000; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 8 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 1001.00000 10000 4 +11111.00000 -10000.00000 10000000 2 +2.00000 1.00000 1 7 +UPDATE t1 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 1101.00000 10000 4 +11111.00000 -9900.00000 10000000 2 +2.00000 1.00000 1 7 +UPDATE t1 SET c2=NULL WHERE c4=4; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 NULL 10000 4 +11111.00000 -9900.00000 10000000 2 +2.00000 1.00000 1 7 +UPDATE t1 SET c2=1.0e+5 WHERE c2=NULL; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 NULL 10000 4 +11111.00000 -9900.00000 10000000 2 +2.00000 1.00000 1 7 +UPDATE IGNORE t1 SET c1=-1.0e+2 WHERE c4=2; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +SHOW WARNINGS; +Level Code Message +Warning 1264 Out of range value for column 'c1' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 -9900.00000 10000000 2 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 NULL 10000 4 +2.00000 1.00000 1 7 +UPDATE IGNORE t1 SET c1=1.0e+20 WHERE c4=2; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +SHOW WARNINGS; +Level Code Message +Warning 1264 Out of range value for column 'c1' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 -9900.00000 10000000 2 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 NULL 10000 4 +2.00000 1.00000 1 7 +UPDATE t1 SET c1=0.9999999999e+5 WHERE c3=1 AND c4=7; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 10000000000 5 +100000.00000 -9900.00000 10000000 2 +100000.00000 1.00000 1 7 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 NULL 10000 4 +UPDATE t1 SET c1=1.2e+2,c2=c4+c2 WHERE c3=9999999999 OR c2=1.0e-5; +SELECT * FROM t1 WHERE c1=1.2e+2; +c1 c2 c3 c4 +UPDATE t1 SET c3=1234567890 WHERE c4 IN (4,5,6); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 1234570000 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +100000.00000 -100000.00000 1234570000 5 +100000.00000 -9900.00000 10000000 2 +100000.00000 1.00000 1 7 +100000.00000 100000.00000 1000000000 3 +100000.00000 100000.00000 111111000 9 +10001.00000 NULL 1234570000 4 +UPDATE IGNORE t1 SET c1=99999.999999 WHERE c4=7; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 7 +SELECT c1,c4 FROM t1; +c1 c4 +0.00000 6 +0.00000 8 +100.05000 1 +10000.00000 10 +100000.00000 2 +100000.00000 3 +100000.00000 5 +100000.00000 7 +100000.00000 9 +10001.00000 4 +UPDATE t1 SET c2=-9999.0099 WHERE c4=5; +SELECT c2,c4 FROM t1; +c2 c4 +-0.05000 1 +-0.10000 8 +-9900.00000 2 +-9999.00977 5 +0.00000 6 +1.00000 7 +100.00001 10 +100000.00000 3 +100000.00000 9 +NULL 4 +SELECT c1 FROM t1 WHERE c1>1000; +c1 +10000.00000 +10001.00000 +100000.00000 +100000.00000 +100000.00000 +100000.00000 +100000.00000 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c1>1000; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c1>1000; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT c1 from t1 WHERE c1>1000; +c1 +SET SQL_MODE=DEFAULT; +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22222.22266 -22222.22266 2222220000 2 +33333.33203 -33333.33203 3333330000 3 +44444.44531 -44444.44531 4444440000 4 +55555.55469 -55555.55469 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +c1 +22222.22266 +33333.33203 +44444.44531 +55555.55469 +UPDATE t1 SET c1=c1-100, c2=c1+c2 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22122.22266 -100.00000 2222220000 2 +33233.33203 -100.00000 3333330000 3 +44344.44531 -100.00000 4444440000 4 +55455.55469 -100.00000 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +SELECT * FROM t2; +c1 c2 c3 +11111.11133 1111110000 1 +22222.22266 2222220000 2 +33333.33203 3333330000 3 +SELECT * FROM t3; +c1 c2 c3 +44444.44531 4444440000 4 +55555.55469 5555560000 5 +66666.66406 6666670000 6 +SELECT * FROM t4; +c1 c2 c3 +100000.00000 10000000000 9 +77777.78125 7777780000 7 +88888.89062 8888890000 8 +UPDATE t1,t2,t3,t4 SET t2.c1=t2.c1+t3.c1, t3.c2=t3.c2-t2.c1, t4.c1=t1.c1*t1.c3 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888' ; +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22122.22266 -100.00000 2222220000 2 +33233.33203 -100.00000 3333330000 3 +44344.44531 -100.00000 4444440000 4 +55455.55469 -100.00000 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22122.22266 -100.00000 2222220000 2 +33233.33203 -100.00000 3333330000 3 +44344.44531 -100.00000 4444440000 4 +55455.55469 -100.00000 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22122.22266 -100.00000 2222220000 2 +33233.33203 -100.00000 3333330000 3 +44344.44531 -100.00000 4444440000 4 +55455.55469 -100.00000 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +UPDATE t2 SET t2.c1='44444.44444', t2.c3=4 WHERE t2.c1='22222.22222' AND t2.c3=2; +SELECT * FROM t2; +c1 c2 c3 +11111.11133 1111110000 1 +22222.22266 2222220000 2 +33333.33203 3333330000 3 +update t2 set t2.c1='99999.99999' where c1 BETWEEN '11111' AND '44444'; +SELECT * FROM t2; +c1 c2 c3 +100000.00000 1111110000 1 +100000.00000 2222220000 2 +100000.00000 3333330000 3 +UPDATE t2 SET c1=c1-1,c2=c2-1 WHERE c1 IN ('44444.44444','99999.99999'); +SELECT * FROM t2; +c1 c2 c3 +100000.00000 1111110000 1 +100000.00000 2222220000 2 +100000.00000 3333330000 3 +DROP TABLE t2,t3; +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE t1 SET c3='asdf' WHERE c1='11111.11111'; +SELECT c3 FROM t1; +c3 +10000000000 +1111110000 +2222220000 +3333330000 +4444440000 +5555560000 +6666670000 +7777780000 +8888890000 +UPDATE IGNORE t1 SET c2="1 e 1" WHERE c4=2; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 2 +SELECT c2 FROM t1; +c2 +-100.00000 +-100.00000 +-100.00000 +-100000.00000 +-11111.11133 +-66666.66406 +-77777.78125 +-88888.89062 +1.00000 +UPDATE t4 SET c1=88888.88888,c3=8 WHERE c3=7; +ERROR 23000: Duplicate entry '88888.89062-8' for key 'idx4' +SELECT * FROM t1; +c1 c2 c3 c4 +100000.00000 -100000.00000 10000000000 9 +11111.11133 -11111.11133 1111110000 1 +22122.22266 1.00000 2222220000 2 +33233.33203 -100.00000 3333330000 3 +44344.44531 -100.00000 4444440000 4 +55455.55469 -100.00000 5555560000 5 +66666.66406 -66666.66406 6666670000 6 +77777.78125 -77777.78125 7777780000 7 +88888.89062 -88888.89062 8888890000 8 +SELECT * FROM t2; +c1 c2 c3 +11111.11133 1111110000 1 +22222.22266 2222220000 2 +33333.33203 3333330000 3 +SELECT * FROM t3; +c1 c2 c3 +22222.22266 4444440000 1 +55555.55469 5555560000 2 +66666.66406 6666670000 3 +SELECT * FROM t4; +c1 c2 c3 +100000.00000 10000000000 9 +77777.78125 7777780000 7 +88888.89062 8888890000 8 +DROP TABLES IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 DOUBLE(10,5) UNSIGNED NOT NULL, c2 DOUBLE(10,5) SIGNED NULL, c3 DOUBLE, c4 INT, UNIQUE INDEX idx(c1,c4)); +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +1.00000 1.00000 1 7 +100.00000 1001.00000 9999.999999 4 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11111.00009 -9999.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE t1 SET c1='10001.00001' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +SELECT c1,c2 FROM t1; +c1 c2 +0.00000 -0.10000 +0.00000 0.00000 +1.00000 1.00000 +100.05000 -100.05000 +10000.00000 0.00001 +10001.00001 1001.00000 +11111.00009 -9999.99999 +99999.99999 -99999.99999 +99999.99999 99999.99999 +99999.99999 99999.99999 +UPDATE IGNORE t1 SET c1=c2+c3 WHERE c3 < 10000; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 8 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -100.05000 100119 1 +10000.00000 0.00001 1000000000 10 +11001.00000 1001.00000 9999.999999 4 +11111.00009 -9999.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE t1 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 1101.00000 9999.999999 4 +11111.00009 -9899.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE t1 SET c2=NULL WHERE c4=4; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 NULL 9999.999999 4 +11111.00009 -9899.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE t1 SET c2=1.0e+5 WHERE c2=NULL; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 NULL 9999.999999 4 +11111.00009 -9899.99999 9999999 2 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE IGNORE t1 SET c1=-1.0e+2 WHERE c4=2; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +SHOW WARNINGS; +Level Code Message +Warning 1264 Out of range value for column 'c1' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 -9899.99999 9999999 2 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 NULL 9999.999999 4 +2.00000 1.00000 1 7 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE IGNORE t1 SET c1=1.0e+20 WHERE c4=2; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 2 +SHOW WARNINGS; +Level Code Message +Warning 1264 Out of range value for column 'c1' at row 2 +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 NULL 9999.999999 4 +2.00000 1.00000 1 7 +99999.99999 -9899.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE t1 SET c1=0.9999999999e+5 WHERE c3=1 AND c4=7; +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 0 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 NULL 9999.999999 4 +99999.99999 -9899.99999 9999999 2 +99999.99999 -99999.99999 9999999999 5 +99999.99999 1.00000 1 7 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE t1 SET c1=1.2e+2,c2=c4+c2 WHERE c3=9999999999 OR c2=1.0e-5; +SELECT * FROM t1 WHERE c1=1.2e+2; +c1 c2 c3 c4 +120.00000 -99994.99999 9999999999 5 +UPDATE t1 SET c3=1234567890 WHERE c4 IN (4,5,6); +SELECT * FROM t1; +c1 c2 c3 c4 +0.00000 -0.10000 -0.1 8 +0.00000 0.00000 1234567890 6 +100.05000 -0.05000 100119 1 +10000.00000 100.00001 1000000000 10 +11001.00000 NULL 1234567890 4 +120.00000 -99994.99999 1234567890 5 +99999.99999 -9899.99999 9999999 2 +99999.99999 1.00000 1 7 +99999.99999 99999.99999 1000000000.0001 3 +99999.99999 99999.99999 111111111.11 9 +UPDATE IGNORE t1 SET c1=99999.999999 WHERE c4=7; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 7 +SELECT c1,c4 FROM t1; +c1 c4 +0.00000 6 +0.00000 8 +100.05000 1 +10000.00000 10 +11001.00000 4 +120.00000 5 +99999.99999 2 +99999.99999 3 +99999.99999 7 +99999.99999 9 +UPDATE t1 SET c2=-9999.0099 WHERE c4=5; +SELECT c2,c4 FROM t1; +c2 c4 +-0.05000 1 +-0.10000 8 +-9899.99999 2 +-9999.00990 5 +0.00000 6 +1.00000 7 +100.00001 10 +99999.99999 3 +99999.99999 9 +NULL 4 +SELECT c1 FROM t1 WHERE c1>1000; +c1 +10000.00000 +11001.00000 +99999.99999 +99999.99999 +99999.99999 +99999.99999 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c1>1000; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c1>1000; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT c1 from t1 WHERE c1>1000; +c1 +SET SQL_MODE=DEFAULT; +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22222.22222 -22222.22222 2222222222 2 +33333.33333 -33333.33333 3333333333 3 +44444.44444 -44444.44444 4444444444 4 +55555.55555 -55555.55555 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +c1 +22222.22222 +33333.33333 +44444.44444 +55555.55555 +UPDATE t1 SET c1=c1-100, c2=c1+c2 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +44444.44444 4444444444 4 +55555.55555 5555555555 5 +66666.66666 6666666666 6 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +UPDATE t1,t2,t3,t4 SET t2.c1=t2.c1+t3.c1, t3.c2=t3.c2-t2.c1, t4.c1=t1.c1*t1.c3 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888' ; +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 1111111111 1 +22122.22222 -100.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +UPDATE t2 SET t2.c1='44444.44444', t2.c3=4 WHERE t2.c1='22222.22222' AND t2.c3=2; +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +33333.33333 3333333333 3 +44444.44444 2222222222 4 +update t2 set t2.c1='99999.99999' where c1 BETWEEN '11111' AND '44444'; +SELECT * FROM t2; +c1 c2 c3 +44444.44444 2222222222 4 +99999.99999 1111111111 1 +99999.99999 3333333333 3 +UPDATE t2 SET c1=c1-1,c2=c2-1 WHERE c1 IN ('44444.44444','99999.99999'); +SELECT * FROM t2; +c1 c2 c3 +44443.44444 2222222221 4 +99998.99999 1111111110 1 +99998.99999 3333333332 3 +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE IGNORE t1 SET c3='asdf' WHERE c1='11111.11111'; +Warnings: +Warning 1366 Incorrect double value: 'asdf' for column `test`.`t1`.`c3` at row 1 +SELECT c3 FROM t1; +c3 +0 +2222222222 +3333333333 +4444444444 +5555555555 +6666666666 +7777777777 +8888888888 +9999999999 +UPDATE IGNORE t1 SET c2="1 e 1" WHERE c4=2; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 2 +SELECT c2 FROM t1; +c2 +-100.00000 +-100.00000 +-100.00000 +-11111.11111 +-66666.66666 +-77777.77777 +-88888.88888 +-99999.99999 +1.00000 +UPDATE t4 SET c1=88888.88888,c3=8 WHERE c3=7; +ERROR 23000: Duplicate entry '88888.88888-8' for key 'idx4' +SELECT * FROM t1; +c1 c2 c3 c4 +11111.11111 -11111.11111 0 1 +22122.22222 1.00000 2222222222 2 +33233.33333 -100.00000 3333333333 3 +44344.44444 -100.00000 4444444444 4 +55455.55555 -100.00000 5555555555 5 +66666.66666 -66666.66666 6666666666 6 +77777.77777 -77777.77777 7777777777 7 +88888.88888 -88888.88888 8888888888 8 +99999.99999 -99999.99999 9999999999 9 +SELECT * FROM t2; +c1 c2 c3 +11111.11111 1111111111 1 +22222.22222 2222222222 2 +33333.33333 3333333333 3 +SELECT * FROM t3; +c1 c2 c3 +22222.22222 4444444444 1 +55555.55555 5555555555 2 +66666.66666 6666666666 3 +SELECT * FROM t4; +c1 c2 c3 +77777.77777 7777777777 7 +88888.88888 8888888888 8 +99999.99999 9999999999 9 +DROP TABLES IF EXISTS t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/update_delete_calendar.result b/mysql-test/suite/engines/iuds/r/update_delete_calendar.result new file mode 100644 index 00000000..e8324c8b --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/update_delete_calendar.result @@ -0,0 +1,1913 @@ +DROP TABLE IF EXISTS t1,t2; +CREATE TABLE t1(c1 DATE NOT NULL PRIMARY KEY, c2 DATE NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUE('1998-01-01','10-01-01',1),('2001-01-01','70-01-01',2),('2001-01-03','2001-01-04 09:34:00',3); +Warnings: +Note 1265 Data truncated for column 'c2' at row 3 +SELECT * FROM t1; +c1 c2 c3 +1998-01-01 2010-01-01 1 +2001-01-01 1970-01-01 2 +2001-01-03 2001-01-04 3 +UPDATE t1 SET c1='69-02-02' WHERE c2='10-01-01'; +SELECT year(c1),month(c1),day(c1),year(c2) FROM t1 WHERE c2='10-01-01'; +year(c1) month(c1) day(c1) year(c2) +2069 2 2 2010 +UPDATE t1 SET c1='1969-02-02',c2='1910-02-02' WHERE c2='10-01-01'; +SELECT * FROM t1 WHERE c1='1969-02-02' AND c2='1910-02-02'; +c1 c2 c3 +1969-02-02 1910-02-02 1 +UPDATE t1 SET c1='01-02-02',c2='2070-02-02' WHERE c2='70-01-01'; +SELECT year(c1),c2 FROM t1 WHERE c1='01-02-02' AND c2='2070-02-02'; +year(c1) c2 +2001 2070-02-02 +UPDATE t1 SET c1='2001-01-03 08:30:00',c2='2001-01-05' WHERE c2='2001-01-04'; +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='2001-01-05'; +c1 hour(c1) minute(c1) second(c1) +2001-01-03 0 0 0 +INSERT INTO t1 VALUES('2009-02-25','09-02-27',4); +SET TIMESTAMP=1235553613; +UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE(); +Warnings: +Note 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURDATE(); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +SELECT * FROM t1; +c1 c2 c3 +1969-02-02 1910-02-02 1 +2001-01-03 2001-01-05 3 +2001-02-02 2070-02-02 2 +2009-02-26 2009-02-25 4 +INSERT INTO t1 VALUES('2001-01-06','2001-01-07',5),('2001-01-08',NULL,6); +UPDATE t1 SET c2=NULL WHERE c1='2001-01-06'; +SELECT * FROM t1 WHERE c2 IS NULL; +c1 c2 c3 +2001-01-06 NULL 5 +2001-01-08 NULL 6 +UPDATE t1 SET c2='2001-01-10' WHERE c2 IS NULL; +SELECT * FROM t1 WHERE c2='2001-01-10'; +c1 c2 c3 +2001-01-06 2001-01-10 5 +2001-01-08 2001-01-10 6 +INSERT INTO t1 VALUES('2001-01-11','2001-01-11',7),('2001-01-12','2001-01-12',8),('2001-01-13','2001-01-13',9),('2001-01-14','2001-01-14',10),('2001-01-15','2001-01-15',11),('2001-01-16','2001-01-16',12); +UPDATE t1 SET c1='10:45:15',c2='2009-01-32' WHERE c1='2001-01-11'; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c2='2009-02-30' WHERE c2='2001-01-12'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c2='2009-04-31' WHERE c2='2001-01-13'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c2='2009-06-31' WHERE c2='2001-01-14'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c2='2009-09-31' WHERE c2='2001-01-15'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +SELECT count(*) FROM t1 WHERE c2='10:45:15' OR c2='2009-01-32' OR c2='2009-02-30' OR c2='2009-04-31' OR c2='2009-06-31' OR c2='2009-09-31' /* returns 0 */; +count(*) +0 +UPDATE t1 SET c2='2009-11-31' WHERE c2='2001-01-16'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +SELECT * FROM t1 WHERE c2='0000-00-00'; +c1 c2 c3 +0000-00-00 0000-00-00 7 +2001-01-12 0000-00-00 8 +2001-01-13 0000-00-00 9 +2001-01-14 0000-00-00 10 +2001-01-15 0000-00-00 11 +2001-01-16 0000-00-00 12 +SET SQL_MODE=ALLOW_INVALID_DATES; +INSERT INTO t1 VALUES('2001-01-27','2001-01-28',19); +UPDATE t1 SET c1='2009-04-31',c2='2009-02-30' WHERE c3=19; +SELECT c1,c2,day(c1),day(c2) FROM t1 WHERE c3=19; +c1 c2 day(c1) day(c2) +2009-04-31 2009-02-30 31 30 +SET SQL_MODE=DEFAULT; +INSERT INTO t1 VALUES('2001-01-17','0000-00-00',13),('2001-01-18','2001-01-18',14); +SET SQL_MODE=TRADITIONAL; +SELECT * FROM t1 WHERE c2='0000-00-00'; +c1 c2 c3 +0000-00-00 0000-00-00 7 +2001-01-12 0000-00-00 8 +2001-01-13 0000-00-00 9 +2001-01-14 0000-00-00 10 +2001-01-15 0000-00-00 11 +2001-01-16 0000-00-00 12 +2001-01-17 0000-00-00 13 +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18'; +ERROR 22007: Incorrect date value: '0000-00-00' for column 'c2' at row 1 +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18'; +UPDATE t1 SET c2='2001-01-18' WHERE c2='0000-00-00' AND c1='2001-01-17'; +SELECT * FROM t1 WHERE c1='0000-00-00' OR c2='0000-00-00'; +c1 c2 c3 +0000-00-00 0000-00-00 7 +2001-01-12 0000-00-00 8 +2001-01-13 0000-00-00 9 +2001-01-14 0000-00-00 10 +2001-01-15 0000-00-00 11 +2001-01-16 0000-00-00 12 +2001-01-18 0000-00-00 14 +INSERT INTO t1 VALUES('2001-01-19','2001-01-20',15); +UPDATE t1 SET c1='2010-00-01',c2='2010-10-00' WHERE c3=15; +SELECT *,month(c1),day(c2) from t1 WHERE c3=15; +c1 c2 c3 month(c1) day(c2) +2010-00-01 2010-10-00 15 0 0 +INSERT INTO t1 VALUES('2001-01-21','2001-01-22',16); +UPDATE t1 SET c1='1000-01-01',c2='9999-12-31' WHERE c1='2001-01-21'; +SELECT * FROM t1 WHERE c1='1000-01-01' AND c2='9999-12-31'; +c1 c2 c3 +1000-01-01 9999-12-31 16 +INSERT INTO t1 VALUES('2001-01-23','2001-01-24',17),('2001-01-25','2001-01-26',18); +UPDATE t1 SET c1='2001-01-23' WHERE c1='2001-01-25'; +ERROR 23000: Duplicate entry '2001-01-23' for key 'PRIMARY' +UPDATE IGNORE t1 SET c1='2001-01-23' WHERE c1='2001-01-25'; +SELECT count(*) FROM t1 WHERE c1='2001-01-23'; +count(*) +1 +UPDATE t1 SET c1=NULL WHERE c2='2001-01-24' /* updates to 0000-00-00 */; +ERROR 23000: Duplicate entry '0000-00-00' for key 'PRIMARY' +UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-24'; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1='0000-00-00'; +c1 c2 c3 +0000-00-00 0000-00-00 7 +TRUNCATE TABLE t1; +CREATE TABLE t2(c1 DATE NOT NULL PRIMARY KEY, c2 DATE, c3 INT); +INSERT INTO t1 VALUES('2001-01-02','2001-01-01',1),('2001-01-03','2001-01-02',2); +INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2001-01-02 2001-01-01 1 2001-01-02 2001-01-03 1 +UPDATE t1,t2 SET t2.c1='2005-01-06',t1.c1='2005-01-06' WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2005-01-06 2001-01-01 1 2005-01-06 2001-01-03 1 +INSERT INTO t1 VALUES('2002-01-01','2002-01-02',3),('2002-01-04','2002-01-02',4); +INSERT INTO t2 VALUES('2002-01-02','2002-01-03',3),('2002-01-03','2002-01-04',4); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-01 2002-01-02 3 2002-01-02 2002-01-03 3 +2002-01-04 2002-01-02 4 2002-01-02 2002-01-03 3 +UPDATE t1,t2 SET t2.c1='2002-01-06',t1.c2='2002-01-06' WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06' AND t1.c2='2002-01-06'; +c1 c2 c3 c1 c2 c3 +2002-01-01 2002-01-06 3 2002-01-06 2002-01-03 3 +2002-01-04 2002-01-06 4 2002-01-06 2002-01-03 3 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-01 2002-01-06 3 2002-01-06 2002-01-03 3 +2002-01-04 2002-01-06 4 2002-01-06 2002-01-03 3 +DELETE FROM t1 WHERE c2='2002-01-06' AND c3=3; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-04 2002-01-06 4 2002-01-06 2002-01-03 3 +DROP TABLE t2; +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, ADD KEY(c1); +UPDATE t1 SET c1='2002-01-07' WHERE c2='2002-01-05'; +SELECT * FROM t1 WHERE c1='2002-01-07'; +c1 c2 c3 +INSERT INTO t1 VALUES('2002-01-08','2002-01-09',4),('2002-01-10','2002-01-11',5),('2002-01-12','2002-01-13',6),('2002-01-14','2002-01-15',7),('2002-01-16','2002-01-17',8),('2002-01-18','2002-01-19',9),('2002-01-20','2002-01-21',10),('2002-01-22','2002-01-23',11),('2002-01-24','2002-01-25',12),('2002-01-26','2002-01-27',13),('2002-01-28','2002-01-29',14),('2002-01-30','2002-01-31',15),('2002-02-01','2002-02-02',16),('2002-02-03','2002-02-04',17),('2002-02-05','2002-02-06',18),('2002-02-07','2002-02-08',19),('2002-02-09','2002-02-10',20); +SELECT * FROM t1; +c1 c2 c3 +2002-01-08 2002-01-09 4 +2002-01-10 2002-01-11 5 +2002-01-12 2002-01-13 6 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +2002-01-22 2002-01-23 11 +2002-01-24 2002-01-25 12 +2002-01-26 2002-01-27 13 +2002-01-28 2002-01-29 14 +2002-01-30 2002-01-31 15 +2002-02-01 2002-02-02 16 +2002-02-03 2002-02-04 17 +2002-02-05 2002-02-06 18 +2002-02-07 2002-02-08 19 +2002-02-09 2002-02-10 20 +UPDATE t1 SET c1='2003-01-01' WHERE c2 <> '2002-01-09' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <> '2002-01-09' ORDER BY c2; +c1 c2 c3 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +2002-01-22 2002-01-23 11 +2002-01-24 2002-01-25 12 +2002-01-26 2002-01-27 13 +2002-01-28 2002-01-29 14 +2002-01-30 2002-01-31 15 +2002-02-01 2002-02-02 16 +2002-02-03 2002-02-04 17 +2002-02-05 2002-02-06 18 +2002-02-07 2002-02-08 19 +2002-02-09 2002-02-10 20 +UPDATE t1 SET c1='2003-01-01' WHERE c2 >= '2002-01-13' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2002-01-13' ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 2002-02-10 20 +2003-01-01 2002-02-08 19 +2002-02-05 2002-02-06 18 +2002-02-03 2002-02-04 17 +2002-02-01 2002-02-02 16 +2002-01-30 2002-01-31 15 +2002-01-28 2002-01-29 14 +2002-01-26 2002-01-27 13 +2002-01-24 2002-01-25 12 +2002-01-22 2002-01-23 11 +2002-01-20 2002-01-21 10 +2002-01-18 2002-01-19 9 +2002-01-16 2002-01-17 8 +2002-01-14 2002-01-15 7 +2003-01-01 2002-01-13 6 +UPDATE t1 SET c1='2003-01-01' WHERE c2 <='2002-01-21' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <='2002-01-21' ORDER BY c2; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +UPDATE t1 SET c1='2003-01-01' WHERE c2 <=> '2002-01-23' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2002-01-23' ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 2002-01-23 11 +UPDATE t1 SET c1='2003-01-01' WHERE c2 BETWEEN '2002-01-25' AND '2002-01-29' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '2002-01-25' AND '2002-01-29' ORDER BY c2; +c1 c2 c3 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2002-01-28 2002-01-29 14 +UPDATE t1 SET c1='2003-01-01' WHERE c2 IN('2002-01-29','2002-01-31') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN('2002-01-29','2002-01-31') ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 2002-01-31 15 +2003-01-01 2002-01-29 14 +UPDATE t1 SET c1='2003-01-01' WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +UPDATE t1 SET c1='2003-01-01' WHERE c2>= '2002-02-06' AND c1 < '2002-02-09' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2>= '2002-02-06' AND c1 < '2002-02-09' ORDER BY c2; +c1 c2 c3 +INSERT INTO t1 VALUES('2002-03-01','2002-03-01',1),('2002-03-03','2002-03-04',2),('2002-03-05','2002-03-06',3),('2005-01-01','2005-01-02',4),('2005-01-03','2005-01-04',5),('2005-01-05','2005-01-06',6),('2005-01-07','2005-01-08',7),('2005-01-09',NULL,8); +SELECT * FROM t1; +c1 c2 c3 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +2002-02-01 2002-02-02 16 +2002-02-03 2002-02-04 17 +2002-03-01 2002-03-01 1 +2002-03-03 2002-03-04 2 +2002-03-05 2002-03-06 3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +2005-01-01 2005-01-02 4 +2005-01-03 2005-01-04 5 +2005-01-05 2005-01-06 6 +2005-01-07 2005-01-08 7 +2005-01-09 NULL 8 +SELECT c1 FROM t1; +c1 +2002-01-14 +2002-01-16 +2002-01-18 +2002-01-20 +2002-02-01 +2002-02-03 +2002-03-01 +2002-03-03 +2002-03-05 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2005-01-01 +2005-01-03 +2005-01-05 +2005-01-07 +2005-01-09 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2005-01-09 +2005-01-07 +2005-01-05 +2005-01-03 +2005-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2003-01-01 +2002-03-05 +2002-03-03 +2002-03-01 +2002-02-03 +2002-02-01 +2002-01-20 +2002-01-18 +2002-01-16 +2002-01-14 +SELECT * FROM t1 WHERE c1='2003-01-01'; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +SELECT * FROM t1 WHERE c1 <> '2003-01-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +SELECT * FROM t1 WHERE c1 <> '2003-01-01' ORDER BY c1,c2 DESC; +c1 c2 c3 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +2002-02-01 2002-02-02 16 +2002-02-03 2002-02-04 17 +2002-03-01 2002-03-01 1 +2002-03-03 2002-03-04 2 +2002-03-05 2002-03-06 3 +2005-01-01 2005-01-02 4 +2005-01-03 2005-01-04 5 +2005-01-05 2005-01-06 6 +2005-01-07 2005-01-08 7 +2005-01-09 NULL 8 +SELECT * FROM t1 WHERE c1 > '2003-01-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2005-01-01 2005-01-02 4 +2005-01-03 2005-01-04 5 +SELECT * FROM t1 WHERE c1 >= '2003-01-01' ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +2005-01-01 2005-01-02 4 +2005-01-03 2005-01-04 5 +2005-01-05 2005-01-06 6 +2005-01-07 2005-01-08 7 +2005-01-09 NULL 8 +SELECT * FROM t1 WHERE c1 < '2003-01-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +SELECT * FROM t1 WHERE c1 <= '2003-01-01' ORDER BY c1,c2 DESC; +c1 c2 c3 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +2002-02-01 2002-02-02 16 +2002-02-03 2002-02-04 17 +2002-03-01 2002-03-01 1 +2002-03-03 2002-03-04 2 +2002-03-05 2002-03-06 3 +2003-01-01 2002-02-10 20 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-06 18 +2003-01-01 2002-01-31 15 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-09 4 +SELECT * FROM t1 WHERE c1 <=> '2003-01-01' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 2002-02-10 20 +2003-01-01 2002-02-08 19 +SELECT * FROM t1 WHERE c1 <=> '2003-01-01' ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +SELECT * FROM t1 WHERE c1 BETWEEN '2002-03-01' AND '2003-01-01' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +2002-03-01 2002-03-01 1 +2002-03-03 2002-03-04 2 +SELECT * FROM t1 WHERE c1 BETWEEN '2002-03-01' AND '2003-01-01' ORDER BY c1,c2 DESC; +c1 c2 c3 +2002-03-01 2002-03-01 1 +2002-03-03 2002-03-04 2 +2002-03-05 2002-03-06 3 +2003-01-01 2002-02-10 20 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-06 18 +2003-01-01 2002-01-31 15 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-09 4 +SELECT * FROM t1 WHERE c1 IN('2003-01-01','2005-01-07') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 2002-02-10 20 +2003-01-01 2002-02-08 19 +SELECT * FROM t1 WHERE c1 IN('2003-01-01','2005-01-07') ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +2005-01-07 2005-01-08 7 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +2005-01-09 NULL 8 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2005-01-09 NULL 8 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2002-01-14 2002-01-15 7 +2002-01-16 2002-01-17 8 +2002-01-18 2002-01-19 9 +2002-01-20 2002-01-21 10 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2002-02-01 2002-02-02 16 +2002-02-03 2002-02-04 17 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +2002-03-01 2002-03-01 1 +2002-03-03 2002-03-04 2 +2002-03-05 2002-03-06 3 +2005-01-01 2005-01-02 4 +2005-01-03 2005-01-04 5 +2005-01-05 2005-01-06 6 +2005-01-07 2005-01-08 7 +SELECT * FROM t1 WHERE c1>='2003-01-01' AND c1 <= '2005-01-07' ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +SELECT * FROM t1 WHERE c1>='2003-01-01' AND c1 <= '2005-01-07' ORDER BY c2,c1; +c1 c2 c3 +2003-01-01 2002-01-09 4 +2003-01-01 2002-01-11 5 +2003-01-01 2002-01-13 6 +2003-01-01 2002-01-23 11 +2003-01-01 2002-01-25 12 +2003-01-01 2002-01-27 13 +2003-01-01 2002-01-29 14 +2003-01-01 2002-01-31 15 +2003-01-01 2002-02-06 18 +2003-01-01 2002-02-08 19 +2003-01-01 2002-02-10 20 +2005-01-01 2005-01-02 4 +2005-01-03 2005-01-04 5 +2005-01-05 2005-01-06 6 +2005-01-07 2005-01-08 7 +SELECT * FROM t1 WHERE c1='2003-01-03' OR c2='2002-03-06'; +c1 c2 c3 +2002-03-05 2002-03-06 3 +UPDATE t1 SET c1='2006-01-01' WHERE c1='2003-01-03' OR c2='2002-03-06'; +SELECT * FROM t1 WHERE c1='2006-01-01' OR c2='2002-03-04'; +c1 c2 c3 +2002-03-03 2002-03-04 2 +2006-01-01 2002-03-06 3 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c2' at row 3 +Note 1265 Data truncated for column 'c1' at row 4 +Note 1265 Data truncated for column 'c2' at row 4 +INSERT INTO t1 VALUES('1000-01-01','1000-01-01',1),('9999-12-31','9999-12-31',2); +SELECT * FROM t1 WHERE c1 <='1000-01-01'; +c1 c2 c3 +1000-01-01 1000-01-01 1 +DELETE FROM t1 WHERE c1 <='1000-01-01'; +SELECT * FROM t1 WHERE c1 <='1000-01-01'; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 >='9999-12-31'; +c1 c2 c3 +9999-12-31 9999-12-31 2 +DELETE FROM t1 WHERE c1 >='9999-12-31'; +SELECT * FROM t1 WHERE c1 >='9999-12-31'; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +2009-02-28 2009-02-28 6 +2009-02-27 2009-02-27 5 +DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 <> CURDATE() ORDER BY c1; +c1 c2 c3 +2009-02-26 2009-02-26 4 +DELETE FROM t1 WHERE c1 <> CURDATE() ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> CURDATE() ORDER BY c1; +c1 c2 c3 +INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10); +Warnings: +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c2' at row 3 +Note 1265 Data truncated for column 'c1' at row 4 +Note 1265 Data truncated for column 'c2' at row 4 +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2001-01-01 2009-02-25 7 +2009-02-25 2009-02-25 3 +2009-02-26 2009-02-26 8 +2009-02-27 2009-02-27 9 +DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-02-26 2009-02-26 8 +2009-02-27 2009-02-27 9 +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +2009-02-26 2009-02-26 8 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01' +Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01' +DELETE FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC; +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01' +SELECT * FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '1 01:01:01' +INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14); +Warnings: +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c2' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c1' at row 4 +SELECT * FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-02-26 2009-02-26 12 +2009-02-27 2009-02-27 9 +DELETE FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC; +c1 c2 c3 +2009-02-28 2009-02-28 10 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '3 01:01:01' +DELETE FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2; +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '3 01:01:01' +SELECT * FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC; +c1 c2 c3 +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '3 01:01:01' +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +2009-03-01 NULL 13 +2009-03-02 NULL 14 +DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19); +Warnings: +Note 1265 Data truncated for column 'c1' at row 1 +Note 1265 Data truncated for column 'c2' at row 1 +Note 1265 Data truncated for column 'c1' at row 2 +Note 1265 Data truncated for column 'c1' at row 3 +Note 1265 Data truncated for column 'c2' at row 3 +Note 1265 Data truncated for column 'c1' at row 4 +Note 1265 Data truncated for column 'c2' at row 4 +Note 1265 Data truncated for column 'c1' at row 5 +Note 1265 Data truncated for column 'c2' at row 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2001-01-01 2009-02-25 11 +2009-03-03 2009-03-03 15 +2009-03-05 2009-03-05 17 +2009-03-06 2009-03-06 18 +2009-03-07 2009-03-07 19 +DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2009-03-05 2009-03-05 17 +2009-03-06 2009-03-06 18 +2009-03-07 2009-03-07 19 +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-03-05 2009-03-05 17 +DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01'); +c1 c2 c3 +2009-03-06 2009-03-06 18 +2009-03-07 2009-03-07 19 +Warning 1292 Truncated incorrect INTEGER value: '10 01:01:01' +Warning 1292 Truncated incorrect INTEGER value: '9 01:01:01' +Warnings: +DELETE FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01'); +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '9 01:01:01' +Warning 1292 Truncated incorrect INTEGER value: '10 01:01:01' +SELECT * FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01'); +c1 c2 c3 +SELECT count(*) FROM t1; +count(*) +1 +TRUNCATE TABLE t1; +SELECT count(*) FROM t1; +count(*) +0 +CREATE TABLE t2(c1 DATE NOT NULL PRIMARY KEY, c2 DATE, c3 INT); +INSERT INTO t1 VALUES('2001-01-02','2001-01-01',1),('2001-01-03','2001-01-02',2); +INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2001-01-02 2001-01-01 1 2001-01-02 2001-01-03 1 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES('2001-01-01','2001-01-02',1),('2001-01-03','2001-01-02',2); +INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2001-01-01 2001-01-02 1 2001-01-02 2001-01-03 1 +2001-01-03 2001-01-02 2 2001-01-02 2001-01-03 1 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DROP TABLE t1,t2; +CREATE TABLE t1(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUE('1998-01-01 09:23:45','10-01-01 14:12:33',1); +UPDATE t1 SET c1='2001-01-01' WHERE c2='10-01-01 14:12:33'; +SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='10-01-01 14:12:33'; +c1 hour(c1) minute(c1) second(c1) +2001-01-01 00:00:00 0 0 0 +INSERT INTO t1 VALUES('2009-01-01 08:42:42','2009-01-02 23:59:59',2); +UPDATE t1 SET c1='2009-01-01 1:2:3',c2='2009-01-02 23:59:59.999999' WHERE c2='2009-01-02 23:59:59'; +SELECT c1,ADDTIME(c2,'1 1:1:1.000002') FROM t1 WHERE c3=2; +c1 ADDTIME(c2,'1 1:1:1.000002') +2009-01-01 01:02:03 2009-01-04 01:01:00.000002 +INSERT INTO t1 VALUES('2009-02-25 15:45','09-02-27 15:46',3); +SET TIMESTAMP=1235553613; +UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE(); +UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURRENT_TIMESTAMP(); +SELECT * FROM t1; +c1 c2 c3 +2001-01-01 00:00:00 2010-01-01 14:12:33 1 +2009-01-01 01:02:03 2009-01-02 23:59:59 2 +2009-02-26 01:01:01 2009-02-25 12:20:13 3 +INSERT INTO t1 VALUES('2001-01-06','2001-01-07 09:30:00',4),('2001-01-08',NULL,5); +SELECT * FROM t1 WHERE c2 IS NULL; +c1 c2 c3 +2001-01-08 00:00:00 NULL 5 +UPDATE t1 SET c2=NULL WHERE c1='2001-01-06 00:00:00'; +SELECT * FROM t1 WHERE c2 IS NULL; +c1 c2 c3 +2001-01-06 00:00:00 NULL 4 +2001-01-08 00:00:00 NULL 5 +UPDATE t1 SET c2='2001-01-10 00:00:00' WHERE c2 IS NULL; +SELECT * FROM t1 WHERE c2='2001-01-10'; +c1 c2 c3 +2001-01-06 00:00:00 2001-01-10 00:00:00 4 +2001-01-08 00:00:00 2001-01-10 00:00:00 5 +INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7); +UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09'; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c2='2001-01-11 23:59:60' WHERE c1='2001-01-11'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59'; +count(*) +1 +Warnings: +Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' +Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59' +SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */; +count(*) +0 +Warnings: +Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1 +Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1 +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +2001-01-11 00:00:00 0000-00-00 00:00:00 7 +INSERT INTO t1 VALUES('2001-01-17','0000-00-00 00:00:00',8),('2001-01-18','2001-01-18 07:35',9); +SET SQL_MODE=TRADITIONAL; +SELECT * FROM t1 WHERE c2='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +2001-01-11 00:00:00 0000-00-00 00:00:00 7 +2001-01-17 00:00:00 0000-00-00 00:00:00 8 +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1 +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +UPDATE t1 SET c2='2001-01-17 12:34:00' WHERE c2='0000-00-00 00:00:00' AND c1='2001-01-17'; +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +2001-01-11 00:00:00 0000-00-00 00:00:00 7 +2001-01-18 00:00:00 0000-00-00 00:00:00 9 +SELECT * FROM t1 WHERE c2='2001-01-17 12:34:00'; +c1 c2 c3 +2001-01-17 00:00:00 2001-01-17 12:34:00 8 +INSERT INTO t1 VALUES('2001-01-21 05:43:43','2001-01-22 06:53:53',10); +UPDATE t1 SET c1='1000-01-01 00:00:00',c2='9999-12-31 23:59:59' WHERE c1='2001-01-21 05:43:43'; +SELECT * FROM t1 WHERE c1='1000-01-01 00:00:00' AND c2='9999-12-31 23:59:59'; +c1 c2 c3 +1000-01-01 00:00:00 9999-12-31 23:59:59 10 +INSERT INTO t1 VALUES('2001-01-23 02:33','2001-01-24 03:33',11),('2001-01-25 04:33','2001-01-26 05:33',12); +UPDATE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +ERROR 23000: Duplicate entry '2001-01-23 02:33:00' for key 'PRIMARY' +UPDATE IGNORE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +SELECT count(*) FROM t1 WHERE c1='2001-01-23 02:33'; +count(*) +1 +UPDATE t1 SET c1=NULL WHERE c2='2001-01-24 03:33' /* updates to 0000-00-00 00:00:00 */; +ERROR 23000: Duplicate entry '0000-00-00 00:00:00' for key 'PRIMARY' +UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-24 03:33'; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +TRUNCATE TABLE t1; +CREATE TABLE t2(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME, c3 INT); +INSERT INTO t1 VALUES('2001-01-02 2:30:45','2001-01-01 1:30',1),('2001-01-03 3:30','2001-01-02 2:30:45',2); +INSERT INTO t2 VALUES('2001-01-02 2:30:45','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2001-01-02 02:30:45 2001-01-01 01:30:00 1 2001-01-02 02:30:45 2001-01-03 03:30:00 1 +UPDATE t1,t2 SET t2.c1='2005-01-06 2:30:50',t1.c1='2005-01-06 2:30:50' WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2005-01-06 02:30:50 2001-01-01 01:30:00 1 2005-01-06 02:30:50 2001-01-03 03:30:00 1 +INSERT INTO t1 VALUES('2002-01-01 3:30','2002-01-02 2:30:45',3),('2002-01-04 4:30','2002-01-02 2:30:45',4); +INSERT INTO t2 VALUES('2002-01-02 2:30:45','2002-01-03 3:30',3),('2002-01-03 3:30','2002-01-04 4:30',4); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-01 03:30:00 2002-01-02 02:30:45 3 2002-01-02 02:30:45 2002-01-03 03:30:00 3 +2002-01-04 04:30:00 2002-01-02 02:30:45 4 2002-01-02 02:30:45 2002-01-03 03:30:00 3 +UPDATE t1,t2 SET t2.c1='2002-01-06 2:30:50',t1.c2='2002-01-06 2:30:50' WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06 2:30:50' AND t1.c2='2002-01-06 2:30:50'; +c1 c2 c3 c1 c2 c3 +2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +DELETE FROM t1 WHERE c2='2002-01-06 2:30:50' AND c3=3; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +DROP TABLE t2; +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, ADD KEY(c1); +UPDATE t1 SET c1='2002-01-07 7:30' WHERE c2='2002-01-05 5:30'; +SELECT * FROM t1 WHERE c1='2002-01-07 7:30'; +c1 c2 c3 +INSERT INTO t1 VALUES('2002-01-08 1:30','2002-01-09 1:30',4),('2002-01-08 1:30:5','2002-01-09 1:30:5',5),('2002-01-08 1:30:10','2002-01-09 1:30:10',6),('2002-01-08 1:30:15','2002-01-09 1:30:15',7),('2002-01-08 1:30:20','2002-01-09 1:30:20',8),('2002-01-08 1:30:25','2002-01-09 1:30:25',9),('2002-01-08 1:30:30','2002-01-09 1:30:30',10),('2002-01-08 1:30:35','2002-01-09 1:30:35',11),('2002-01-08 1:30:40','2002-01-09 1:30:40',12),('2002-01-08 1:30:45','2002-01-09 1:30:45',13),('2002-01-08 1:30:50','2002-01-09 1:30:50',14),('2002-01-08 1:30:55','2002-01-09 1:30:55',15),('2002-01-08 1:30:59','2002-01-09 1:30:59',16),('2002-01-08 2:00','2002-01-09 2:00',17),('2002-01-08 2:00:05','2002-01-09 2:00:05',18),('2002-01-08 2:00:10','2002-01-09 2:00:10',19),('2002-01-08 2:00:15','2002-01-09 2:00:15',20); +SELECT * FROM t1; +c1 c2 c3 +2002-01-08 01:30:00 2002-01-09 01:30:00 4 +2002-01-08 01:30:05 2002-01-09 01:30:05 5 +2002-01-08 01:30:10 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:30 2002-01-09 01:30:30 10 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:55 2002-01-09 01:30:55 15 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:00 2002-01-09 02:00:00 17 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-01-08 02:00:10 2002-01-09 02:00:10 19 +2002-01-08 02:00:15 2002-01-09 02:00:15 20 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:30 2002-01-09 01:30:30 10 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:55 2002-01-09 01:30:55 15 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:00 2002-01-09 02:00:00 17 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-01-08 02:00:10 2002-01-09 02:00:10 19 +2002-01-08 02:00:15 2002-01-09 02:00:15 20 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 >= '20020109013010' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '20020109013010' ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-01-08 02:00:00 2002-01-09 02:00:00 17 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 01:30:55 2002-01-09 01:30:55 15 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:30 2002-01-09 01:30:30 10 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <='02-01-09 1:30:20' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <='02-01-09 1:30:20' ORDER BY c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <=> '020109013030' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '020109013030' ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2; +Warnings: +Warning 1292 Incorrect datetime value: '20020109 01:30:40' +Warning 1292 Incorrect datetime value: '20020109 01:30:50' +SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2; +c1 c2 c3 +Warnings: +Warning 1292 Incorrect datetime value: '20020109 01:30:40' +Warning 1292 Incorrect datetime value: '20020109 01:30:50' +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2; +c1 c2 c3 +INSERT INTO t1 VALUES('20020301000001','20020302000001',1),('020303010030','020304010030',2),('050103000001','050104000001',3),('5-10-10 1:2:3','5-10-10 1:2:3',4),('0000-00-00 00:00:01',NULL,5); +SELECT * FROM t1; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:01 +0005-10-10 01:02:03 +2002-01-08 01:30:15 +2002-01-08 01:30:20 +2002-01-08 01:30:25 +2002-01-08 01:30:35 +2002-01-08 01:30:40 +2002-01-08 01:30:45 +2002-01-08 01:30:50 +2002-01-08 01:30:59 +2002-01-08 02:00:05 +2002-03-01 00:00:01 +2002-03-03 01:00:30 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2005-01-03 00:00:01 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2005-01-03 00:00:01 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2002-03-03 01:00:30 +2002-03-01 00:00:01 +2002-01-08 02:00:05 +2002-01-08 01:30:59 +2002-01-08 01:30:50 +2002-01-08 01:30:45 +2002-01-08 01:30:40 +2002-01-08 01:30:35 +2002-01-08 01:30:25 +2002-01-08 01:30:20 +2002-01-08 01:30:15 +0005-10-10 01:02:03 +0000-00-00 00:00:01 +SELECT * FROM t1 WHERE c1='2003-01-01 1:2:3'; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2; +c1 c2 c3 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 DESC; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +c1 c2 c3 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +0000-00-00 00:00:01 NULL 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1; +c1 c2 c3 +0005-10-10 01:02:03 0005-10-10 01:02:03 4 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +c1 c2 c3 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +UPDATE t1 SET c1='20060101000001' WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +SELECT * FROM t1 WHERE c1='20060101000001' OR c2='020304010030'; +c1 c2 c3 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2006-01-01 00:00:01 2002-03-02 00:00:01 1 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6); +INSERT INTO t1 VALUES('1000-01-01 00:00:00','1000-01-01 00:00:00',1),('9999-12-31 23:59:59','9999-12-31 23:59:59',2); +SELECT * FROM t1 WHERE c1 <='1000-01-01 00:00:00'; +c1 c2 c3 +1000-01-01 00:00:00 1000-01-01 00:00:00 1 +DELETE FROM t1 WHERE c1 <='1000-01-01 00:00:00'; +SELECT * FROM t1 WHERE c1 <='1000-01-01 00:00:00'; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 >='9999-12-31 23:59:59'; +c1 c2 c3 +9999-12-31 23:59:59 9999-12-31 23:59:59 2 +DELETE FROM t1 WHERE c1 >='9999-12-31 23:59:59'; +SELECT * FROM t1 WHERE c1 >='9999-12-31 23:59:59'; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +2009-02-28 13:21:14 2009-02-28 13:21:14 6 +2009-02-27 13:21:14 2009-02-27 13:21:14 5 +DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 4 +DELETE FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +c1 c2 c3 +INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10); +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2001-01-01 00:00:00 2009-02-25 12:20:13 7 +2009-02-25 12:20:13 2009-02-25 12:20:13 3 +2009-02-26 13:21:14 2009-02-26 13:21:14 8 +DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 8 +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 8 +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14); +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 12 +2009-02-27 13:21:14 2009-02-27 13:21:14 9 +DELETE FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +c1 c2 c3 +2009-02-28 13:21:14 2009-02-28 13:21:14 10 +DELETE FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +2009-03-01 13:21:14 NULL 13 +2009-03-02 13:21:14 NULL 14 +DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19); +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2001-01-01 00:00:00 2009-02-25 12:20:13 11 +2009-03-03 13:21:14 2009-03-03 13:21:14 15 +2009-03-05 13:21:14 2009-03-05 13:21:14 17 +2009-03-06 13:21:14 2009-03-06 13:21:14 18 +2009-03-07 13:21:14 2009-03-07 13:21:14 19 +DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2009-03-05 13:21:14 2009-03-05 13:21:14 17 +2009-03-06 13:21:14 2009-03-06 13:21:14 18 +2009-03-07 13:21:14 2009-03-07 13:21:14 19 +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; +c1 c2 c3 +2009-03-05 13:21:14 2009-03-05 13:21:14 17 +DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +c1 c2 c3 +2009-03-06 13:21:14 2009-03-06 13:21:14 18 +2009-03-07 13:21:14 2009-03-07 13:21:14 19 +DELETE FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +c1 c2 c3 +SELECT count(*) FROM t1; +count(*) +1 +TRUNCATE TABLE t1; +SELECT count(*) FROM t1; +count(*) +0 +CREATE TABLE t2(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME, c3 INT); +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DROP TABLE t1,t2; +CREATE TABLE mt1(id int(11) NOT NULL default '0', name varchar(10) default NULL, PRIMARY KEY (id)); +INSERT INTO mt1 VALUES (1,'aaa'),(2,'aaa'),(3,'aaa'); +CREATE TABLE mt2 (id int(11) NOT NULL default '0', name varchar(10) default NULL, PRIMARY KEY (id)); +INSERT INTO mt2 VALUES (2,'bbb'),(3,'bbb'),(4,'bbb'); +CREATE TABLE mt3 (id int(11) NOT NULL default '0', mydate datetime default NULL, PRIMARY KEY (id)); +INSERT INTO mt3 VALUES (1,'2002-02-04 00:00:00'),(3,'2002-05-12 00:00:00'),(5,'2002-05-12 00:00:00'),(6,'2002-06-22 00:00:00'),(7,'2002-07-22 00:00:00'); +delete mt1,mt2,mt3 from mt1,mt2,mt3 where to_days(now())-to_days(mt3.mydate)>=30 and mt3.id=mt1.id and mt3.id=mt2.id; +select * from mt3; +id mydate +1 2002-02-04 00:00:00 +5 2002-05-12 00:00:00 +6 2002-06-22 00:00:00 +7 2002-07-22 00:00:00 +DROP TABLE mt1,mt2,mt3; +CREATE TABLE t1(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUE('1998-01-01 09:23:45','10-01-01 14:12:33',1); +UPDATE t1 SET c1='2001-01-01' WHERE c2='10-01-01 14:12:33'; +SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='10-01-01 14:12:33'; +c1 hour(c1) minute(c1) second(c1) +2001-01-01 00:00:00 0 0 0 +INSERT INTO t1 VALUES('2009-01-01 08:42:42','2009-01-02 23:59:59',2); +UPDATE t1 SET c1='2009-01-01 1:2:3',c2='2009-01-02 23:59:59.999999' WHERE c2='2009-01-02 23:59:59'; +SELECT c1,ADDTIME(c2,'1 1:1:1.000002') FROM t1 WHERE c3=2; +c1 ADDTIME(c2,'1 1:1:1.000002') +2009-01-01 01:02:03 2009-01-04 01:01:00.000002 +INSERT INTO t1 VALUES('2009-02-25 15:45','09-02-27 15:46',3); +SET TIMESTAMP=1235553613; +UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE() /* updates c1 with current timestamp */; +UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURRENT_TIMESTAMP(); +SELECT * FROM t1; +c1 c2 c3 +2001-01-01 00:00:00 2010-01-01 14:12:33 1 +2009-01-01 01:02:03 2009-01-02 23:59:59 2 +2009-02-26 01:01:01 2009-02-25 12:20:13 3 +INSERT INTO t1 VALUES('2001-01-06','2001-01-07 09:30:00',4),('2001-01-08',NULL,5); +UPDATE t1 SET c1='20010106010030',c2=NULL WHERE c1='2001-01-06 00:00:00'; +SELECT c1,c2 FROM t1 WHERE c2 IS NULL; +c1 c2 +2001-01-06 01:00:30 NULL +2001-01-08 00:00:00 NULL +SELECT * FROM t1; +c1 c2 c3 +2001-01-01 00:00:00 2010-01-01 14:12:33 1 +2001-01-06 01:00:30 NULL 4 +2001-01-08 00:00:00 NULL 5 +2009-01-01 01:02:03 2009-01-02 23:59:59 2 +2009-02-26 01:01:01 2009-02-25 12:20:13 3 +UPDATE t1 SET c1=c1,c2='2001-01-10 00:00:00' WHERE c2 IS NULL; +SELECT * FROM t1 WHERE c2='2001-01-10'; +c1 c2 c3 +2001-01-06 01:00:30 2001-01-10 00:00:00 4 +2001-01-08 00:00:00 2001-01-10 00:00:00 5 +INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7); +UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09'; +Warnings: +Warning 1265 Data truncated for column 'c1' at row 1 +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c1='2001-01-11 23:59:59',c2='2001-01-11 23:59:60' WHERE c1='2001-01-11'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59'; +count(*) +1 +Warnings: +Warning 1292 Incorrect datetime value: '2001-01-09 24:59:59' +Warning 1292 Incorrect datetime value: '2009-01-10 23:60:59' +SELECT count(*) FROM t1 WHERE c1='2001-01-11 23:59:59' AND c2='2001-01-11 23:59:60'; +count(*) +1 +Warnings: +Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +2001-01-11 23:59:59 0000-00-00 00:00:00 7 +INSERT INTO t1 VALUES('2001-01-17','0000-00-00 00:00:00',8),('2001-01-18','2001-01-18 07:35',9); +SET SQL_MODE=TRADITIONAL; +SELECT * FROM t1 WHERE c2='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +2001-01-11 23:59:59 0000-00-00 00:00:00 7 +2001-01-17 00:00:00 0000-00-00 00:00:00 8 +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c2' at row 1 +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +UPDATE t1 SET c1='2001-01-17 12:34:00',c2='2001-01-17 12:34:00' WHERE c2='0000-00-00 00:00:00' AND c1='2001-01-17'; +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 6 +1972-01-01 07:35:00 0000-00-00 00:00:00 9 +2001-01-11 23:59:59 0000-00-00 00:00:00 7 +SELECT * FROM t1 WHERE c1='2001-01-17 12:34:00' AND c2='2001-01-17 12:34:00'; +c1 c2 c3 +2001-01-17 12:34:00 2001-01-17 12:34:00 8 +INSERT INTO t1 VALUES('2001-01-21 05:43:43','2001-01-22 06:53:53',10); +UPDATE t1 SET c1='1971-01-01 00:00:01',c2='2038-01-09 03:14:07' WHERE c1='2001-01-21 05:43:43'; +SELECT * FROM t1 WHERE c1='1971-01-01 00:00:01' AND c2='2038-01-09 03:14:07'; +c1 c2 c3 +1971-01-01 00:00:01 2038-01-09 03:14:07 10 +INSERT INTO t1 VALUES('2001-01-23 02:33','2001-01-24 03:33',11),('2001-01-25 04:33','2001-01-26 05:33',12); +UPDATE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +ERROR 23000: Duplicate entry '2001-01-23 02:33:00' for key 'PRIMARY' +UPDATE IGNORE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +SELECT count(*) FROM t1 WHERE c1='2001-01-23 02:33'; +count(*) +1 +UPDATE t1 SET c1=NULL WHERE c2='2001-01-24 03:33' /* updates to current timestamp */; +UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-26 05:33'; +SELECT * FROM t1 WHERE c1=CURRENT_TIMESTAMP(); +c1 c2 c3 +2009-02-25 12:20:13 2001-01-24 03:33:00 11 +TRUNCATE TABLE t1; +CREATE TABLE t2(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP, c3 INT); +INSERT INTO t1 VALUES('2001-01-02 2:30:45','2001-01-01 1:30',1),('2001-01-03 3:30','2001-01-02 2:30:45',2); +INSERT INTO t2 VALUES('2001-01-02 2:30:45','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2001-01-02 02:30:45 2001-01-01 01:30:00 1 2001-01-02 02:30:45 2001-01-03 03:30:00 1 +UPDATE t1,t2 SET t2.c1='2005-01-06 2:30:50',t1.c1='2005-01-06 2:30:50' WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +2005-01-06 02:30:50 2001-01-01 01:30:00 1 2005-01-06 02:30:50 2001-01-03 03:30:00 1 +INSERT INTO t1 VALUES('2002-01-01 3:30','2002-01-02 2:30:45',3),('2002-01-04 4:30','2002-01-02 2:30:45',4); +INSERT INTO t2 VALUES('2002-01-02 2:30:45','2002-01-03 3:30',3),('2002-01-03 3:30','2002-01-04 4:30',4); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-01 03:30:00 2002-01-02 02:30:45 3 2002-01-02 02:30:45 2002-01-03 03:30:00 3 +2002-01-04 04:30:00 2002-01-02 02:30:45 4 2002-01-02 02:30:45 2002-01-03 03:30:00 3 +UPDATE t1,t2 SET t2.c1='2002-01-06 2:30:50',t1.c1=t1.c1,t1.c2='2002-01-06 2:30:50' WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06 2:30:50' AND t1.c2='2002-01-06 2:30:50'; +c1 c2 c3 c1 c2 c3 +2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-01 03:30:00 2002-01-06 02:30:50 3 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +DELETE FROM t1 WHERE c2='2002-01-06 2:30:50' AND c3=3; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2002-01-04 04:30:00 2002-01-06 02:30:50 4 2002-01-06 02:30:50 2002-01-03 03:30:00 3 +DROP TABLE t2; +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, ADD KEY(c1); +UPDATE t1 SET c1='2002-01-07 7:30' WHERE c2='2002-01-05 5:30'; +SELECT * FROM t1 WHERE c1='2002-01-07 7:30'; +c1 c2 c3 +INSERT INTO t1 VALUES('2002-01-08 1:30','2002-01-09 1:30',4),('2002-01-08 1:30:5','2002-01-09 1:30:5',5),('2002-01-08 1:30:10','2002-01-09 1:30:10',6),('2002-01-08 1:30:15','2002-01-09 1:30:15',7),('2002-01-08 1:30:20','2002-01-09 1:30:20',8),('2002-01-08 1:30:25','2002-01-09 1:30:25',9),('2002-01-08 1:30:30','2002-01-09 1:30:30',10),('2002-01-08 1:30:35','2002-01-09 1:30:35',11),('2002-01-08 1:30:40','2002-01-09 1:30:40',12),('2002-01-08 1:30:45','2002-01-09 1:30:45',13),('2002-01-08 1:30:50','2002-01-09 1:30:50',14),('2002-01-08 1:30:55','2002-01-09 1:30:55',15),('2002-01-08 1:30:59','2002-01-09 1:30:59',16),('2002-01-08 2:00','2002-01-09 2:00',17),('2002-01-08 2:00:05','2002-01-09 2:00:05',18),('2002-01-08 2:00:10','2002-01-09 2:00:10',19),('2002-01-08 2:00:15','2002-01-09 2:00:15',20); +SELECT * FROM t1; +c1 c2 c3 +2002-01-08 01:30:00 2002-01-09 01:30:00 4 +2002-01-08 01:30:05 2002-01-09 01:30:05 5 +2002-01-08 01:30:10 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:30 2002-01-09 01:30:30 10 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:55 2002-01-09 01:30:55 15 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:00 2002-01-09 02:00:00 17 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-01-08 02:00:10 2002-01-09 02:00:10 19 +2002-01-08 02:00:15 2002-01-09 02:00:15 20 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:30 2002-01-09 01:30:30 10 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:55 2002-01-09 01:30:55 15 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:00 2002-01-09 02:00:00 17 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-01-08 02:00:10 2002-01-09 02:00:10 19 +2002-01-08 02:00:15 2002-01-09 02:00:15 20 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 >= '20020109013010' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '20020109013010' ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-01-08 02:00:00 2002-01-09 02:00:00 17 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 01:30:55 2002-01-09 01:30:55 15 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:30 2002-01-09 01:30:30 10 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <='02-01-09 1:30:20' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <='02-01-09 1:30:20' ORDER BY c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <=> '020109013030' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '020109013030' ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2; +Warnings: +Warning 1292 Incorrect datetime value: '20020109 01:30:40' +Warning 1292 Incorrect datetime value: '20020109 01:30:50' +SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2; +c1 c2 c3 +Warnings: +Warning 1292 Incorrect datetime value: '20020109 01:30:40' +Warning 1292 Incorrect datetime value: '20020109 01:30:50' +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2; +c1 c2 c3 +INSERT INTO t1 VALUES('20020301000001','20020302000001',1),('020303010030','020304010030',2),('050103000001','050104000001',3),('5-10-10 1:2:3','5-10-10 1:2:3',4),('0000-00-00 00:00:01',NULL,5); +Warnings: +Warning 1264 Out of range value for column 'c1' at row 4 +Warning 1264 Out of range value for column 'c2' at row 4 +Warning 1265 Data truncated for column 'c1' at row 5 +SELECT * FROM t1; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +0000-00-00 00:00:00 NULL 5 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT c1 FROM t1; +c1 +0000-00-00 00:00:00 +0000-00-00 00:00:00 +2002-01-08 01:30:15 +2002-01-08 01:30:20 +2002-01-08 01:30:25 +2002-01-08 01:30:35 +2002-01-08 01:30:40 +2002-01-08 01:30:45 +2002-01-08 01:30:50 +2002-01-08 01:30:59 +2002-01-08 02:00:05 +2002-03-01 00:00:01 +2002-03-03 01:00:30 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2005-01-03 00:00:01 +SELECT c1 FROM t1 ORDER BY c1 DESC; +c1 +2005-01-03 00:00:01 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2003-01-01 01:02:03 +2002-03-03 01:00:30 +2002-03-01 00:00:01 +2002-01-08 02:00:05 +2002-01-08 01:30:59 +2002-01-08 01:30:50 +2002-01-08 01:30:45 +2002-01-08 01:30:40 +2002-01-08 01:30:35 +2002-01-08 01:30:25 +2002-01-08 01:30:20 +2002-01-08 01:30:15 +0000-00-00 00:00:00 +0000-00-00 00:00:00 +SELECT * FROM t1 WHERE c1='2003-01-01 1:2:3'; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:00 NULL 5 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +0000-00-00 00:00:00 NULL 5 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2; +c1 c2 c3 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:00 NULL 5 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 DESC; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +0000-00-00 00:00:00 NULL 5 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +c1 c2 c3 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:00 NULL 5 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +0000-00-00 00:00:00 NULL 5 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1; +c1 c2 c3 +0000-00-00 00:00:00 0000-00-00 00:00:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2002-01-08 01:30:15 2002-01-09 01:30:15 7 +2002-01-08 01:30:20 2002-01-09 01:30:20 8 +2002-01-08 01:30:25 2002-01-09 01:30:25 9 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2002-01-08 01:30:35 2002-01-09 01:30:35 11 +2002-01-08 01:30:40 2002-01-09 01:30:40 12 +2002-01-08 01:30:45 2002-01-09 01:30:45 13 +2002-01-08 01:30:50 2002-01-09 01:30:50 14 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2002-01-08 01:30:59 2002-01-09 01:30:59 16 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2002-01-08 02:00:05 2002-01-09 02:00:05 18 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1; +c1 c2 c3 +2003-01-01 01:02:03 2002-01-09 01:30:00 4 +2003-01-01 01:02:03 2002-01-09 01:30:05 5 +2003-01-01 01:02:03 2002-01-09 01:30:10 6 +2003-01-01 01:02:03 2002-01-09 01:30:30 10 +2003-01-01 01:02:03 2002-01-09 01:30:55 15 +2003-01-01 01:02:03 2002-01-09 02:00:00 17 +2003-01-01 01:02:03 2002-01-09 02:00:10 19 +2003-01-01 01:02:03 2002-01-09 02:00:15 20 +2005-01-03 00:00:01 2005-01-04 00:00:01 3 +SELECT * FROM t1 WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +c1 c2 c3 +2002-03-01 00:00:01 2002-03-02 00:00:01 1 +UPDATE t1 SET c1='20060101000001' WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +SELECT * FROM t1 WHERE c1='20060101000001' OR c2='020304010030'; +c1 c2 c3 +2002-03-03 01:00:30 2002-03-04 01:00:30 2 +2006-01-01 00:00:01 2002-03-02 00:00:01 1 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6); +INSERT INTO t1 VALUES('1971-01-01 00:00:01','1971-01-01 00:00:01',1),('2038-01-09 03:14:07','2038-01-09 03:14:07',2); +SELECT * FROM t1 WHERE c1 <='1971-01-01 00:00:01'; +c1 c2 c3 +1971-01-01 00:00:01 1971-01-01 00:00:01 1 +DELETE FROM t1 WHERE c1 <='1971-01-01 00:00:01'; +SELECT * FROM t1 WHERE c1 <='1971-01-01 00:00:01'; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 >='2038-01-09 03:14:07'; +c1 c2 c3 +2038-01-09 03:14:07 2038-01-09 03:14:07 2 +DELETE FROM t1 WHERE c1 >='2038-01-09 03:14:07'; +SELECT * FROM t1 WHERE c1 >='2038-01-09 03:14:07'; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +2009-02-28 13:21:14 2009-02-28 13:21:14 6 +2009-02-27 13:21:14 2009-02-27 13:21:14 5 +DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 4 +DELETE FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +c1 c2 c3 +INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10); +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2001-01-01 00:00:00 2009-02-25 12:20:13 7 +2009-02-25 12:20:13 2009-02-25 12:20:13 3 +2009-02-26 13:21:14 2009-02-26 13:21:14 8 +DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 8 +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 8 +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +c1 c2 c3 +INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14); +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +2009-02-26 13:21:14 2009-02-26 13:21:14 12 +2009-02-27 13:21:14 2009-02-27 13:21:14 9 +DELETE FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +c1 c2 c3 +2009-02-28 13:21:14 2009-02-28 13:21:14 10 +DELETE FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +2009-03-01 13:21:14 NULL 13 +2009-03-02 13:21:14 NULL 14 +DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19); +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2001-01-01 00:00:00 2009-02-25 12:20:13 11 +2009-03-03 13:21:14 2009-03-03 13:21:14 15 +2009-03-05 13:21:14 2009-03-05 13:21:14 17 +2009-03-06 13:21:14 2009-03-06 13:21:14 18 +2009-03-07 13:21:14 2009-03-07 13:21:14 19 +DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +2009-03-05 13:21:14 2009-03-05 13:21:14 17 +2009-03-06 13:21:14 2009-03-06 13:21:14 18 +2009-03-07 13:21:14 2009-03-07 13:21:14 19 +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; +c1 c2 c3 +2009-03-05 13:21:14 2009-03-05 13:21:14 17 +DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; +c1 c2 c3 +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +c1 c2 c3 +2009-03-06 13:21:14 2009-03-06 13:21:14 18 +2009-03-07 13:21:14 2009-03-07 13:21:14 19 +DELETE FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +c1 c2 c3 +SELECT count(*) FROM t1; +count(*) +1 +TRUNCATE TABLE t1; +SELECT count(*) FROM t1; +count(*) +0 +CREATE TABLE t2(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP, c3 INT); +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +2001-01-01 01:30:00 2001-01-02 02:30:00 1 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +2001-01-03 03:30:00 2001-01-02 02:30:00 2 2001-01-02 02:30:00 2001-01-03 03:30:00 1 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DROP TABLE t1,t2; diff --git a/mysql-test/suite/engines/iuds/r/update_delete_number.result b/mysql-test/suite/engines/iuds/r/update_delete_number.result new file mode 100644 index 00000000..1cd2a62c --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/update_delete_number.result @@ -0,0 +1,4107 @@ +DROP TABLE IF EXISTS t1,t2; +CREATE TABLE t1(c1 INT UNSIGNED NOT NULL, c2 INT SIGNED NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +SELECT * FROM t1; +c1 c2 c3 +0 -128 0 +0 NULL 3 +1 1 1 +101 -101 4 +102 -102 5 +103 -103 6 +104 -104 7 +105 -105 8 +2 2 2 +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c1=110; +c1 c2 c3 +110 -104 7 +110 -105 8 +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +c1 c2 c3 +102 NULL 4 +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +SELECT c1,c2 FROM t1 WHERE c1=120; +c1 c2 +120 NULL +120 NULL +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +SELECT c1,c2 FROM t1 WHERE c2=-102; +c1 c2 +0 -102 +UPDATE t1 SET c1=0,c2=-2147483648 WHERE c1=103 AND c2=-103; +SELECT * FROM t1 WHERE c1=0 AND c2=-2147483648; +c1 c2 c3 +0 -2147483648 6 +UPDATE t1 SET c1=4294967295,c2=2147483647 WHERE c1=104 OR c2=105; +SELECT * FROM t1 WHERE c1=4294967295 AND c2=2147483647; +c1 c2 c3 +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +SELECT * FROM t1 WHERE c2=0; +c1 c2 c3 +1 0 1 +2 0 2 +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=4294967296,c2=2147483648 WHERE c2 BETWEEN -108 AND -106; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +SELECT COUNT(*) FROM t1 WHERE c1=4294967296 AND c2=2147483648 /* no rows */; +COUNT(*) +0 +SELECT * FROM t1 WHERE c1=4294967295 AND c2=2147483647; +c1 c2 c3 +4294967295 2147483647 10 +4294967295 2147483647 11 +4294967295 2147483647 9 +UPDATE IGNORE t1 SET c2=-2147483649 WHERE c1=109 ORDER BY c1; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 13 +SELECT c1,c2 FROM t1 WHERE c1=109; +c1 c2 +109 -2147483648 +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c2=-110; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT c1,c2 FROM t1 WHERE c2=-110; +c1 c2 +0 -110 +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -2147483648 6 +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +c1 c2 c3 +1 0 1 +2 0 2 +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +SELECT * FROM t1; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -2147483648 6 +109 -2147483648 12 +110 -104 7 +110 -105 8 +120 NULL 3 +120 NULL 4 +2 1 1 +255 127 13 +3 1 2 +4294967295 2147483647 10 +4294967295 2147483647 11 +4294967295 2147483647 9 +CREATE TABLE t2(c1 INT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT UNSIGNED NULL, c3 INT); +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +UPDATE t2 SET c1=1 WHERE c1=3; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +SELECT c1 FROM t2; +c1 +1 +2 +3 +4 +5 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +c1 +11 +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +c1 +11 +UPDATE t1 SET c1=4294967295,c2=2147483647 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +4294967295 2147483647 +UPDATE IGNORE t2 SET c1=0,c2=-2147483648 WHERE c2=2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +4294967295 2147483647 +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +4294967295 2147483647 +UPDATE t2 SET c1=2147483647,c2=4294967295 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +2147483647 4294967295 +UPDATE t2 SET c1=-2147483648,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +2147483647 4294967295 +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +2147483647 4294967295 +CREATE TABLE mt1 (c1 INT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 INT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 INT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +SELECT * FROM mt1; +c1 c2 +1 30 +2 30 +3 3 +4 4 +5 5 +SELECT * FROM mt2; +c1 c2 +11 40 +12 1 +13 40 +14 40 +15 6 +SELECT * FROM mt3; +c1 c2 +21 50 +22 50 +23 50 +24 50 +25 15 +DROP TABLE mt1,mt2,mt3; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 INT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +ALTER TABLE t2 CHANGE c1 c1 INT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 INT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-2147483648,0,13),(2147483647,4294967295,14),(0,2147483648,15),(2147483647,2147483647,16); +UPDATE t2 SET c1=-2147483648 WHERE c2 <> 0 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c2; +c1 c2 c3 +-2147483648 1 1 +-2147483648 2 2 +-3 3 3 +-4 4 4 +-5 5 5 +-6 6 6 +-7 7 7 +-8 8 8 +-9 9 9 +-12 12 12 +50 50 10 +2147483647 2147483647 16 +0 2147483648 15 +2147483647 4294967295 14 +UPDATE t2 SET c1=-2147483648 WHERE c2 >= 0 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 0 ORDER BY c2 DESC; +c1 c2 c3 +-2147483648 4294967295 14 +-2147483648 2147483648 15 +2147483647 2147483647 16 +50 50 10 +-12 12 12 +-9 9 9 +-8 8 8 +-7 7 7 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2147483648 2 2 +-2147483648 1 1 +-2147483648 0 13 +UPDATE t2 SET c1=-2147483648 WHERE c2 <= 3 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 3 ORDER BY c2; +c1 c2 c3 +-2147483648 0 13 +-2147483648 1 1 +-2147483648 2 2 +-3 3 3 +UPDATE t2 SET c1=-2147483648 WHERE c2 <=> 4 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 4 ORDER BY c2; +c1 c2 c3 +-2147483648 4 4 +UPDATE t2 SET c1=-2147483648 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2; +c1 c2 c3 +-2147483648 4 4 +-2147483648 5 5 +-6 6 6 +-7 7 7 +UPDATE t2 SET c1=-2147483648 WHERE c2 IN(8,9) ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(8,9) ORDER BY c2 DESC; +c1 c2 c3 +-2147483648 9 9 +-2147483648 8 8 +UPDATE t2 SET c1=-2147483648 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +-2147483648 NULL 11 +UPDATE t2 SET c1=-2147483648 WHERE c2>= 6 AND c2 < 9 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2>= 6 AND c2 < 9 ORDER BY c2; +c1 c2 c3 +-2147483648 6 6 +-2147483648 7 7 +-2147483648 8 8 +UPDATE t2 SET c1=-2147483648 WHERE c1=-12 OR c2=1; +SELECT * FROM t2 WHERE c1=-2147483648; +c1 c2 c3 +-2147483648 0 13 +-2147483648 1 1 +-2147483648 12 12 +-2147483648 2 2 +-2147483648 2147483648 15 +-2147483648 4 4 +-2147483648 4294967295 14 +-2147483648 5 5 +-2147483648 6 6 +-2147483648 7 7 +-2147483648 8 8 +-2147483648 9 9 +-2147483648 NULL 11 +SELECT * FROM t2; +c1 c2 c3 +-2147483648 0 13 +-2147483648 1 1 +-2147483648 12 12 +-2147483648 2 2 +-2147483648 2147483648 15 +-2147483648 4 4 +-2147483648 4294967295 14 +-2147483648 5 5 +-2147483648 6 6 +-2147483648 7 7 +-2147483648 8 8 +-2147483648 9 9 +-2147483648 NULL 11 +-3 3 3 +2147483647 2147483647 16 +50 50 10 +SELECT c1 FROM t2; +c1 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-3 +2147483647 +50 +SELECT c1 FROM t2 ORDER BY c1 DESC; +c1 +2147483647 +50 +-3 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +-2147483648 +SELECT * FROM t2 WHERE c1=-2147483648; +c1 c2 c3 +-2147483648 0 13 +-2147483648 1 1 +-2147483648 12 12 +-2147483648 2 2 +-2147483648 2147483648 15 +-2147483648 4 4 +-2147483648 4294967295 14 +-2147483648 5 5 +-2147483648 6 6 +-2147483648 7 7 +-2147483648 8 8 +-2147483648 9 9 +-2147483648 NULL 11 +SELECT * FROM t2 WHERE c1 <> -2147483648 ORDER BY c1,c2; +c1 c2 c3 +-3 3 3 +50 50 10 +2147483647 2147483647 16 +SELECT * FROM t2 WHERE c1 <> -2147483648 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-3 3 3 +50 50 10 +SELECT * FROM t2 WHERE c1 > -2147483648 ORDER BY c1,c2 DESC; +c1 c2 c3 +-3 3 3 +50 50 10 +2147483647 2147483647 16 +SELECT * FROM t2 WHERE c1 >= -2147483648 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-2147483648 NULL 11 +-2147483648 0 13 +SELECT * FROM t2 WHERE c1 < -2147483648 ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 <= -2147483648 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-2147483648 4294967295 14 +-2147483648 2147483648 15 +SELECT * FROM t2 WHERE c1 <=> -2147483648 ORDER BY c1,c2 DESC; +c1 c2 c3 +-2147483648 4294967295 14 +-2147483648 2147483648 15 +-2147483648 12 12 +-2147483648 9 9 +-2147483648 8 8 +-2147483648 7 7 +-2147483648 6 6 +-2147483648 5 5 +-2147483648 4 4 +-2147483648 2 2 +-2147483648 1 1 +-2147483648 0 13 +-2147483648 NULL 11 +SELECT * FROM t2 WHERE c1 <=> -2147483648 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-2147483648 NULL 11 +-2147483648 0 13 +SELECT * FROM t2 WHERE c1 BETWEEN -2147483648 AND 2147483647 ORDER BY c1,c2; +c1 c2 c3 +-2147483648 NULL 11 +-2147483648 0 13 +-2147483648 1 1 +-2147483648 2 2 +-2147483648 4 4 +-2147483648 5 5 +-2147483648 6 6 +-2147483648 7 7 +-2147483648 8 8 +-2147483648 9 9 +-2147483648 12 12 +-2147483648 2147483648 15 +-2147483648 4294967295 14 +-3 3 3 +50 50 10 +2147483647 2147483647 16 +SELECT * FROM t2 WHERE c1 BETWEEN -2147483648 AND 2147483647 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-2147483648 4294967295 14 +-2147483648 2147483648 15 +SELECT * FROM t2 WHERE c1 IN(-2147483648,2147483647) ORDER BY c1,c2 DESC; +c1 c2 c3 +-2147483648 4294967295 14 +-2147483648 2147483648 15 +-2147483648 12 12 +-2147483648 9 9 +-2147483648 8 8 +-2147483648 7 7 +-2147483648 6 6 +-2147483648 5 5 +-2147483648 4 4 +-2147483648 2 2 +-2147483648 1 1 +-2147483648 0 13 +-2147483648 NULL 11 +2147483647 2147483647 16 +SELECT * FROM t2 WHERE c1 IN(-2147483648,2147483647) ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-2147483648 NULL 11 +-2147483648 0 13 +SELECT * FROM t2 WHERE c1>=-2147483648 AND c1 <= 2147483647 ORDER BY c1,c2 DESC; +c1 c2 c3 +-2147483648 4294967295 14 +-2147483648 2147483648 15 +-2147483648 12 12 +-2147483648 9 9 +-2147483648 8 8 +-2147483648 7 7 +-2147483648 6 6 +-2147483648 5 5 +-2147483648 4 4 +-2147483648 2 2 +-2147483648 1 1 +-2147483648 0 13 +-2147483648 NULL 11 +-3 3 3 +50 50 10 +2147483647 2147483647 16 +SELECT * FROM t2 WHERE c1>=-2147483648 AND c1 <= 2147483647 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-2147483648 NULL 11 +-2147483648 0 13 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +-2147483648 NULL 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-2147483648 NULL 11 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +-2147483648 0 13 +-2147483648 1 1 +-2147483648 2 2 +-3 3 3 +-2147483648 4 4 +-2147483648 5 5 +-2147483648 6 6 +-2147483648 7 7 +-2147483648 8 8 +-2147483648 9 9 +-2147483648 12 12 +50 50 10 +2147483647 2147483647 16 +-2147483648 2147483648 15 +-2147483648 4294967295 14 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-2147483648 0 13 +-2147483648 1 1 +CREATE TABLE mt1 (a int not null primary key, b int not null, key (b)); +CREATE TABLE mt2 (a int not null primary key, b int not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +update mt1,mt2 set mt1.a=mt1.a+100; +select * from mt1; +a b +101 1 +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +select * from mt1; +a b +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +select * from mt1; +a b +102 12 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +select * from mt1; +a b +102 12 +103 5 +104 6 +105 7 +106 6 +107 7 +108 8 +109 9 +201 1 +select * from mt2; +a b +1 1 +2 2 +3 13 +4 14 +5 15 +6 6 +7 7 +8 8 +9 9 +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); +SELECT * FROM t2 WHERE c1=127 OR c2=3; +c1 c2 c3 +-3 3 3 +127 255 9 +DELETE FROM t2 WHERE c1=127 OR c2=3; +SELECT * FROM t2 WHERE c1=127 OR c2=3; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +1 1 8 +0 0 7 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-2 2 2 +-1 1 1 +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +0 0 7 +-2 2 2 +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +-1 1 1 +1 1 8 +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +127 255 11 +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +3 NULL 10 +2 NULL 9 +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +255 -128 2 127 255 1 +3 NULL 5 -1 NULL 5 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); +ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data +CREATE TABLE t3(c1 INT UNSIGNED NOT NULL PRIMARY KEY, c2 INT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 INT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +200 126 1 200 1 +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +DROP TABLE t1,t2,t3,t4; +create table mt1 (a int not null, b int not null, key (a)); +insert into mt1 values (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3); +SET @tmp=0; +update mt1 set b=(@tmp:=@tmp+1) order by a; +update mt1 set b=99 where a=1 order by b asc limit 1; +select * from mt1 order by a,b; +a b +1 2 +1 3 +1 99 +2 4 +2 5 +2 6 +3 7 +3 8 +3 9 +3 10 +3 11 +3 12 +update mt1 set b=100 where a=1 order by b desc limit 2; +update mt1 set a=a+10+b where a=1 order by b; +select * from mt1 order by a,b; +a b +2 4 +2 5 +2 6 +3 7 +3 8 +3 9 +3 10 +3 11 +3 12 +13 2 +111 100 +111 100 +create table mt2 (a int not null, b int not null); +insert into mt2 values (1,1),(1,2),(1,3); +update mt1 set b=(select distinct 1 from (select * from mt2) a); +drop table mt1,mt2; +create table mt1 (f1 int); +create table mt2 (f2 int); +insert into mt1 values(1),(2); +insert into mt2 values(1),(1); +update mt1,mt2 set f1=3,f2=3 where f1=f2 and f1=1; +affected rows: 3 +info: Rows matched: 3 Changed: 3 Warnings: 0 +update mt2 set f2=1; +update mt1 set f1=1 where f1=3; +update mt2,mt1 set f1=3,f2=3 where f1=f2 and f1=1; +affected rows: 3 +info: Rows matched: 3 Changed: 3 Warnings: 0 +SELECT * FROM mt1; +f1 +2 +3 +SELECT * FROM mt2; +f2 +3 +3 +drop table mt1,mt2; +create table mt1(f1 int, f2 int); +create table mt2(f3 int, f4 int); +create index idx on mt2(f3); +insert into mt1 values(1,0),(2,0); +insert into mt2 values(1,1),(2,2); +UPDATE mt1 SET mt1.f2=(SELECT MAX(mt2.f4) FROM mt2 WHERE mt2.f3=mt1.f1); +select * from mt1; +f1 f2 +1 1 +2 2 +drop table mt1,mt2; +create table mt1 (a int, b char(255), key(a, b(20))); +insert into mt1 values (0, '1'); +update mt1 set b = b + 1 where a = 0; +select * from mt1; +a b +0 2 +drop table mt1; +create table mt1(f1 int, f2 int); +create table mt2(f3 int, f4 int); +create index idx on mt2(f3); +insert into mt1 values(1,0),(2,0); +insert into mt2 values(1,1),(2,2); +UPDATE mt1 SET mt1.f2=(SELECT MAX(mt2.f4) FROM mt2 WHERE mt2.f3=mt1.f1); +select * from mt1; +f1 f2 +1 1 +2 2 +drop table mt1,mt2; +create table mt1 (id int not null auto_increment primary key, id_str varchar(32)); +insert into mt1 (id_str) values ("test"); +update mt1 set id_str = concat(id_str, id) where id = last_insert_id(); +select * from mt1; +id id_str +1 test1 +drop table mt1; +create table mt1 (n int(10) not null primary key, d int(10)); +create table mt2 (n int(10) not null primary key, d int(10)); +insert into mt1 values(1,1), (3,3); +insert into mt2 values(1,10),(2,20); +UPDATE mt2 left outer join mt1 on mt1.n=mt2.n SET mt1.d=mt2.d; +select * from mt1; +n d +1 10 +3 3 +select * from mt2; +n d +1 10 +2 20 +drop table mt1,mt2; +create table mt1 (n int(10), d int(10)); +create table mt2 (n int(10), d int(10)); +insert into mt1 values(1,1),(1,2); +insert into mt2 values(1,10),(2,20); +UPDATE mt1,mt2 SET mt1.d=mt2.d,mt2.d=30 WHERE mt1.n=mt2.n; +select * from mt1; +n d +1 10 +1 10 +select * from mt2; +n d +1 30 +2 20 +drop table mt1,mt2; +create table mt1 (n int(10), d int(10)); +create table mt2 (n int(10), d int(10)); +insert into mt1 values(1,1),(3,2); +insert into mt2 values(1,10),(1,20); +UPDATE mt1,mt2 SET mt1.d=mt2.d,mt2.d=30 WHERE mt1.n=mt2.n; +select * from mt1; +n d +1 10 +3 2 +select * from mt2; +n d +1 30 +1 30 +UPDATE mt1 a ,mt2 b SET a.d=b.d,b.d=30 WHERE a.n=b.n; +select * from mt1; +n d +1 30 +3 2 +select * from mt2; +n d +1 30 +1 30 +DELETE a, b FROM mt1 a,mt2 b where a.n=b.n; +select * from mt1; +n d +3 2 +select * from mt2; +n d +drop table mt1,mt2; +CREATE TABLE mt1 (`colA` int(10) unsigned NOT NULL auto_increment, `colB` int(11) NOT NULL default '0', PRIMARY KEY (`colA`)); +INSERT INTO mt1 VALUES (4433,5424); +CREATE TABLE mt2 (`colC` int(10) unsigned NOT NULL default '0', `colA` int(10) unsigned NOT NULL default '0', `colD` int(10) unsigned NOT NULL default '0', `colE` int(10) unsigned NOT NULL default '0', `colF` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`colC`,`colA`,`colD`,`colE`)); +INSERT INTO mt2 VALUES (3,4433,10005,495,500); +INSERT INTO mt2 VALUES (3,4433,10005,496,500); +INSERT INTO mt2 VALUES (3,4433,10009,494,500); +INSERT INTO mt2 VALUES (3,4433,10011,494,500); +INSERT INTO mt2 VALUES (3,4433,10005,497,500); +INSERT INTO mt2 VALUES (3,4433,10013,489,500); +INSERT INTO mt2 VALUES (3,4433,10005,494,500); +INSERT INTO mt2 VALUES (3,4433,10005,493,500); +INSERT INTO mt2 VALUES (3,4433,10005,492,500); +UPDATE IGNORE mt2,mt1 set mt2.colE = mt2.colE + 1,colF=0 WHERE mt1.colA = mt2.colA AND (mt1.colB & 4096) > 0 AND (colE + 1) < colF; +SELECT * FROM mt2; +colC colA colD colE colF +3 4433 10005 492 500 +3 4433 10005 493 500 +3 4433 10005 494 500 +3 4433 10005 495 500 +3 4433 10005 496 500 +3 4433 10005 498 0 +3 4433 10009 495 0 +3 4433 10011 495 0 +3 4433 10013 490 0 +DROP TABLE mt1,mt2; +create table mt1(id1 smallint(5), field char(5)); +create table mt2(id2 smallint(5), field char(5)); +insert into mt1 values (1, 'a'), (2, 'aa'); +insert into mt2 values (1, 'b'), (2, 'bb'); +select * from mt1; +id1 field +1 a +2 aa +select * from mt2; +id2 field +1 b +2 bb +update mt2 inner join mt1 on mt1.id1=mt2.id2 set mt2.field=mt1.field where 0=1; +update mt2, mt1 set mt2.field=mt1.field where mt1.id1=mt2.id2 and 0=1; +delete mt1, mt2 from mt2 inner join mt1 on mt1.id1=mt2.id2 where 0=1; +delete mt1, mt2 from mt2,mt1 where mt1.id1=mt2.id2 and 0=1; +drop table mt1,mt2; +create table mt1 (n numeric(10)); +create table mt2 (n numeric(10)); +insert into mt2 values (1),(2),(4),(8),(16),(32); +select * from mt2 left outer join mt1 using (n); +n +1 +16 +2 +32 +4 +8 +delete mt1,mt2 from mt2 left outer join mt1 using (n); +select * from mt2 left outer join mt1 using (n); +n +drop table mt1,mt2 ; +create table mt1(id1 int not null primary key, t varchar(100)) pack_keys = 1; +create table mt2(id2 int not null, t varchar(100), index(id2)) pack_keys = 1; +delete mt1 from mt1,mt2 where mt1.id1 = mt2.id2 and mt1.id1 > 500; +drop table mt1,mt2; +create table mt1 (aclid bigint not null primary key, status tinyint(1) not null); +create table mt2 (refid bigint not null primary key, aclid bigint, index idx_acl(aclid)); +insert into mt2 values(1,null); +delete mt2, mt1 from mt2 left join mt1 on (mt2.aclid=mt1.aclid) where mt2.refid='1'; +drop table mt1, mt2; +create table mt1 (a int, primary key (a)); +create table mt2 (a int, primary key (a)); +create table mt3 (a int, primary key (a)); +delete mt1,mt3 from mt1,mt2 where mt1.a=mt2.a and mt2.a=(select mt3.a from mt3 where mt1.a=mt3.a); +ERROR 42S02: Unknown table 'mt3' in MULTI DELETE +drop table mt1, mt2, mt3; +create table mt1 (col1 int); +create table mt2 (col1 int); +update mt1,mt2 set mt1.col1 = (select max(col1) from mt1) where mt1.col1 = mt2.col1; +delete mt1 from mt1,mt2 where mt1.col1 < (select max(col1) from mt1) and mt1.col1 = mt2.col1; +ERROR HY000: Table 'mt1' is specified twice, both as a target for 'DELETE' and as a separate source for data +drop table mt1,mt2; +CREATE TABLE IF NOT EXISTS `mt1` (`id` int(11) NOT NULL auto_increment, `tst` text, `tsmt1` text, PRIMARY KEY (`id`)); +CREATE TABLE IF NOT EXISTS `mt2` (`ID` int(11) NOT NULL auto_increment, `ParId` int(11) default NULL, `tst` text, `tsmt1` text, PRIMARY KEY (`ID`), KEY `IX_ParId_mt2` (`ParId`), FOREIGN KEY (`ParId`) REFERENCES `mt1` (`id`)); +INSERT INTO mt1(tst,tsmt1) VALUES("MySQL","MySQL AB"), ("MSSQL","Microsoft"), ("ORACLE","ORACLE"); +INSERT INTO mt2(ParId) VALUES(1), (2), (3); +select * from mt2; +ID ParId tst tsmt1 +1 1 NULL NULL +2 2 NULL NULL +3 3 NULL NULL +UPDATE mt2, mt1 SET mt2.tst = mt1.tst, mt2.tsmt1 = mt1.tsmt1 WHERE mt2.ParId = mt1.Id; +select * from mt2; +ID ParId tst tsmt1 +1 1 MySQL MySQL AB +2 2 MSSQL Microsoft +3 3 ORACLE ORACLE +drop table mt2,mt1; +CREATE TABLE mt1 ( a int ); +CREATE TABLE mt2 ( a int ); +DELETE mt1 FROM mt1, mt2 AS t3; +DELETE t4 FROM mt1, mt1 AS t4; +DELETE t3 FROM mt1 AS t3, mt1 AS t4; +DELETE mt1 FROM mt1 AS t3, mt2 AS t4; +ERROR 42S02: Unknown table 'mt1' in MULTI DELETE +INSERT INTO mt1 values (1),(2); +INSERT INTO mt2 values (1),(2); +DELETE mt1 FROM mt1 AS mt2, mt2 AS mt1 where mt1.a=mt2.a and mt1.a=1; +SELECT * from mt1; +a +1 +2 +SELECT * from mt2; +a +2 +DELETE mt2 FROM mt1 AS mt2, mt2 AS mt1 where mt1.a=mt2.a and mt1.a=2; +SELECT * from mt1; +a +1 +SELECT * from mt2; +a +2 +DROP TABLE mt1,mt2; +create table mt1(id1 int not null auto_increment primary key, t char(12)); +create table mt2(id2 int not null, t char(12)); +create table mt3(id3 int not null, t char(12), index(id3)); +select count(*) from mt1 where id1 > 95; +count(*) +5 +select count(*) from mt2 where id2 > 95; +count(*) +25 +select count(*) from mt3 where id3 > 95; +count(*) +250 +update mt1,mt2,mt3 set mt1.t="aaa", mt2.t="bbb", mt3.t="cc" where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 90; +select count(*) from mt1 where t = "aaa"; +count(*) +10 +select count(*) from mt1 where id1 > 90; +count(*) +10 +select count(*) from mt2 where t = "bbb"; +count(*) +50 +select count(*) from mt2 where id2 > 90; +count(*) +50 +select count(*) from mt3 where t = "cc"; +count(*) +500 +select count(*) from mt3 where id3 > 90; +count(*) +500 +delete mt1.*, mt2.*, mt3.* from mt1,mt2,mt3 where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 95; +check table mt1, mt2, mt3; +Table Op Msg_type Msg_text +test.mt1 check status OK +test.mt2 check status OK +test.mt3 check status OK +select count(*) from mt1 where id1 > 95; +count(*) +0 +select count(*) from mt2 where id2 > 95; +count(*) +0 +select count(*) from mt3 where id3 > 95; +count(*) +0 +delete mt1, mt2, mt3 from mt1,mt2,mt3 where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 5; +select count(*) from mt1 where id1 > 5; +count(*) +0 +select count(*) from mt2 where id2 > 5; +count(*) +0 +select count(*) from mt3 where id3 > 5; +count(*) +0 +delete from mt1, mt2, mt3 using mt1,mt2,mt3 where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 0; +select count(*) from mt1 where id1; +count(*) +0 +select count(*) from mt2 where id2; +count(*) +0 +select count(*) from mt3 where id3; +count(*) +0 +drop table mt1,mt2,mt3; +CREATE TABLE t1(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT SIGNED NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +SELECT * FROM t1; +c1 c2 c3 +0 -128 0 +0 NULL 3 +1 1 1 +101 -101 4 +102 -102 5 +103 -103 6 +104 -104 7 +105 -105 8 +2 2 2 +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c1=110; +c1 c2 c3 +110 -104 7 +110 -105 8 +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +c1 c2 c3 +102 NULL 4 +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +SELECT c1,c2 FROM t1 WHERE c1=120; +c1 c2 +120 NULL +120 NULL +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +SELECT c1,c2 FROM t1 WHERE c2=-102; +c1 c2 +0 -102 +UPDATE t1 SET c1=0,c2=-128 WHERE c1=103 AND c2=-103; +SELECT * FROM t1 WHERE c1=0 AND c2=-128; +c1 c2 c3 +0 -128 0 +0 -128 6 +UPDATE t1 SET c1=255,c2=127 WHERE c1=104 OR c2=105; +SELECT * FROM t1 WHERE c1=255 AND c2=127; +c1 c2 c3 +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +SELECT * FROM t1 WHERE c2=0; +c1 c2 c3 +1 0 1 +2 0 2 +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=256,c2=128 WHERE c2 BETWEEN -108 AND -106; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +SELECT COUNT(*) FROM t1 WHERE c1=256 AND c2=128 /* no rows */; +COUNT(*) +0 +SELECT * FROM t1 WHERE c1=255 AND c2=127; +c1 c2 c3 +255 127 10 +255 127 11 +255 127 13 +255 127 9 +UPDATE IGNORE t1 SET c2=-129 WHERE c1=109 ORDER BY c1; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 13 +SELECT c1,c2 FROM t1 WHERE c1=109; +c1 c2 +109 -128 +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c2=-110; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT c1,c2 FROM t1 WHERE c2=-110; +c1 c2 +0 -110 +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -128 6 +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +c1 c2 c3 +1 0 1 +2 0 2 +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +SELECT * FROM t1; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -128 6 +109 -128 12 +110 -104 7 +110 -105 8 +120 NULL 3 +120 NULL 4 +2 1 1 +255 127 10 +255 127 11 +255 127 13 +255 127 9 +3 1 2 +CREATE TABLE t2(c1 TINYINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 TINYINT UNSIGNED NULL, c3 INT); +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +UPDATE t2 SET c1=1 WHERE c1=3; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +SELECT c1 FROM t2; +c1 +1 +2 +3 +4 +5 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +c1 +11 +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +c1 +11 +UPDATE t1 SET c1=255,c2=127 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +255 127 +UPDATE IGNORE t2 SET c1=0,c2=-128 WHERE c2=2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +255 127 +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +255 127 +UPDATE t2 SET c1=127,c2=255 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +127 255 +UPDATE t2 SET c1=-128,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +127 255 +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +127 255 +CREATE TABLE mt1 (c1 TINYINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 TINYINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 TINYINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +SELECT * FROM mt1; +c1 c2 +1 30 +2 30 +3 3 +4 4 +5 5 +SELECT * FROM mt2; +c1 c2 +11 40 +12 1 +13 40 +14 40 +15 6 +SELECT * FROM mt3; +c1 c2 +21 50 +22 50 +23 50 +24 50 +25 15 +DROP TABLE mt1,mt2,mt3; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 TINYINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +ALTER TABLE t2 CHANGE c1 c1 TINYINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 TINYINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-128,0,13),(127,255,14),(0,128,15),(127,127,16); +UPDATE t2 SET c1=-128 WHERE c2 <> 0 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c2; +c1 c2 c3 +-128 1 1 +-128 2 2 +-3 3 3 +-4 4 4 +-5 5 5 +-6 6 6 +-7 7 7 +-8 8 8 +-9 9 9 +-12 12 12 +50 50 10 +127 127 16 +0 128 15 +127 255 14 +UPDATE t2 SET c1=-128 WHERE c2 >= 0 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 0 ORDER BY c2 DESC; +c1 c2 c3 +-128 255 14 +-128 128 15 +127 127 16 +50 50 10 +-12 12 12 +-9 9 9 +-8 8 8 +-7 7 7 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-128 2 2 +-128 1 1 +-128 0 13 +UPDATE t2 SET c1=-128 WHERE c2 <= 3 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 3 ORDER BY c2; +c1 c2 c3 +-128 0 13 +-128 1 1 +-128 2 2 +-3 3 3 +UPDATE t2 SET c1=-128 WHERE c2 <=> 4 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 4 ORDER BY c2; +c1 c2 c3 +-128 4 4 +UPDATE t2 SET c1=-128 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2; +c1 c2 c3 +-128 4 4 +-128 5 5 +-6 6 6 +-7 7 7 +UPDATE t2 SET c1=-128 WHERE c2 IN(8,9) ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(8,9) ORDER BY c2 DESC; +c1 c2 c3 +-128 9 9 +-128 8 8 +UPDATE t2 SET c1=-128 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +-128 NULL 11 +UPDATE t2 SET c1=-128 WHERE c2>= 6 AND c2 < 9 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2>= 6 AND c2 < 9 ORDER BY c2; +c1 c2 c3 +-128 6 6 +-128 7 7 +-128 8 8 +UPDATE t2 SET c1=-128 WHERE c1=-12 OR c2=1; +SELECT * FROM t2 WHERE c1=-128; +c1 c2 c3 +-128 0 13 +-128 1 1 +-128 12 12 +-128 128 15 +-128 2 2 +-128 255 14 +-128 4 4 +-128 5 5 +-128 6 6 +-128 7 7 +-128 8 8 +-128 9 9 +-128 NULL 11 +SELECT * FROM t2; +c1 c2 c3 +-128 0 13 +-128 1 1 +-128 12 12 +-128 128 15 +-128 2 2 +-128 255 14 +-128 4 4 +-128 5 5 +-128 6 6 +-128 7 7 +-128 8 8 +-128 9 9 +-128 NULL 11 +-3 3 3 +127 127 16 +50 50 10 +SELECT c1 FROM t2; +c1 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-3 +127 +50 +SELECT c1 FROM t2 ORDER BY c1 DESC; +c1 +127 +50 +-3 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +SELECT * FROM t2 WHERE c1=-128; +c1 c2 c3 +-128 0 13 +-128 1 1 +-128 12 12 +-128 128 15 +-128 2 2 +-128 255 14 +-128 4 4 +-128 5 5 +-128 6 6 +-128 7 7 +-128 8 8 +-128 9 9 +-128 NULL 11 +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c2; +c1 c2 c3 +-3 3 3 +50 50 10 +127 127 16 +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-3 3 3 +50 50 10 +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c2 DESC; +c1 c2 c3 +-3 3 3 +50 50 10 +127 127 16 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-128 NULL 11 +-128 0 13 +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c2; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-128 255 14 +-128 128 15 +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c2 DESC; +c1 c2 c3 +-128 255 14 +-128 128 15 +-128 12 12 +-128 9 9 +-128 8 8 +-128 7 7 +-128 6 6 +-128 5 5 +-128 4 4 +-128 2 2 +-128 1 1 +-128 0 13 +-128 NULL 11 +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-128 NULL 11 +-128 0 13 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1,c2; +c1 c2 c3 +-128 NULL 11 +-128 0 13 +-128 1 1 +-128 2 2 +-128 4 4 +-128 5 5 +-128 6 6 +-128 7 7 +-128 8 8 +-128 9 9 +-128 12 12 +-128 128 15 +-128 255 14 +-3 3 3 +50 50 10 +127 127 16 +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1,c2 DESC LIMIT 2; +c1 c2 c3 +-128 255 14 +-128 128 15 +SELECT * FROM t2 WHERE c1 IN(-128,127) ORDER BY c1,c2 DESC; +c1 c2 c3 +-128 255 14 +-128 128 15 +-128 12 12 +-128 9 9 +-128 8 8 +-128 7 7 +-128 6 6 +-128 5 5 +-128 4 4 +-128 2 2 +-128 1 1 +-128 0 13 +-128 NULL 11 +127 127 16 +SELECT * FROM t2 WHERE c1 IN(-128,127) ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-128 NULL 11 +-128 0 13 +SELECT * FROM t2 WHERE c1>=-128 AND c1 <= 127 ORDER BY c1,c2 DESC; +c1 c2 c3 +-128 255 14 +-128 128 15 +-128 12 12 +-128 9 9 +-128 8 8 +-128 7 7 +-128 6 6 +-128 5 5 +-128 4 4 +-128 2 2 +-128 1 1 +-128 0 13 +-128 NULL 11 +-3 3 3 +50 50 10 +127 127 16 +SELECT * FROM t2 WHERE c1>=-128 AND c1 <= 127 ORDER BY c1,c2 LIMIT 2; +c1 c2 c3 +-128 NULL 11 +-128 0 13 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +-128 NULL 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-128 NULL 11 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +-128 0 13 +-128 1 1 +-128 2 2 +-3 3 3 +-128 4 4 +-128 5 5 +-128 6 6 +-128 7 7 +-128 8 8 +-128 9 9 +-128 12 12 +50 50 10 +127 127 16 +-128 128 15 +-128 255 14 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-128 0 13 +-128 1 1 +SELECT * FROM t2 WHERE c1=-128 OR c2=3; +c1 c2 c3 +-128 0 13 +-128 1 1 +-128 12 12 +-128 128 15 +-128 2 2 +-128 255 14 +-128 4 4 +-128 5 5 +-128 6 6 +-128 7 7 +-128 8 8 +-128 9 9 +-128 NULL 11 +-3 3 3 +CREATE TABLE mt1 (a tinyint not null primary key, b tinyint not null, key (b)); +CREATE TABLE mt2 (a tinyint not null primary key, b tinyint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +update mt1,mt2 set mt1.a=mt1.a+100; +select * from mt1; +a b +101 1 +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +update ignore mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +Warnings: +Warning 1264 Out of range value for column 'a' at row 1 +select * from mt1; +a b +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +127 1 +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +select * from mt1; +a b +102 12 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +127 1 +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +select * from mt1; +a b +102 12 +103 5 +104 6 +105 7 +106 6 +107 7 +108 8 +109 9 +127 1 +select * from mt2; +a b +1 1 +2 2 +3 13 +4 14 +5 15 +6 6 +7 7 +8 8 +9 9 +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 9 +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +1 1 8 +0 0 7 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-2 2 2 +-1 1 1 +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +0 0 7 +-2 2 2 +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +-1 1 1 +1 1 8 +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +127 255 11 +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +3 NULL 10 +2 NULL 9 +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +255 -128 2 127 255 1 +3 NULL 5 -1 NULL 5 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); +ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data +CREATE TABLE t3(c1 TINYINT UNSIGNED NOT NULL PRIMARY KEY, c2 TINYINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 TINYINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +200 126 1 200 1 +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +DROP TABLE t1,t2,t3,t4; +CREATE TABLE t1(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT SIGNED NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +SELECT * FROM t1; +c1 c2 c3 +0 -128 0 +0 NULL 3 +1 1 1 +101 -101 4 +102 -102 5 +103 -103 6 +104 -104 7 +105 -105 8 +2 2 2 +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c1=110; +c1 c2 c3 +110 -104 7 +110 -105 8 +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +c1 c2 c3 +102 NULL 4 +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +SELECT c1,c2 FROM t1 WHERE c1=120; +c1 c2 +120 NULL +120 NULL +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +SELECT c1,c2 FROM t1 WHERE c2=-102; +c1 c2 +0 -102 +UPDATE t1 SET c1=0,c2=-32768 WHERE c1=103 AND c2=-103; +SELECT * FROM t1 WHERE c1=0 AND c2=-32768; +c1 c2 c3 +0 -32768 6 +UPDATE t1 SET c1=65535,c2=32767 WHERE c1=104 OR c2=105; +SELECT * FROM t1 WHERE c1=65535 AND c2=32767; +c1 c2 c3 +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +SELECT * FROM t1 WHERE c2=0; +c1 c2 c3 +1 0 1 +2 0 2 +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=65536,c2=32768 WHERE c2 BETWEEN -108 AND -106; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +SELECT COUNT(*) FROM t1 WHERE c1=65536 AND c2=32768 /* no rows */; +COUNT(*) +0 +SELECT * FROM t1 WHERE c1=65535 AND c2=32767; +c1 c2 c3 +65535 32767 10 +65535 32767 11 +65535 32767 9 +UPDATE IGNORE t1 SET c2=-32769 WHERE c1=109 ORDER BY c1; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 13 +SELECT c1,c2 FROM t1 WHERE c1=109; +c1 c2 +109 -32768 +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c2=-110; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT c1,c2 FROM t1 WHERE c2=-110; +c1 c2 +0 -110 +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -32768 6 +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +c1 c2 c3 +1 0 1 +2 0 2 +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +SELECT * FROM t1; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -32768 6 +109 -32768 12 +110 -104 7 +110 -105 8 +120 NULL 3 +120 NULL 4 +2 1 1 +255 127 13 +3 1 2 +65535 32767 10 +65535 32767 11 +65535 32767 9 +CREATE TABLE t2(c1 SMALLINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 SMALLINT UNSIGNED NULL, c3 INT); +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +UPDATE t2 SET c1=1 WHERE c1=3; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +SELECT c1 FROM t2; +c1 +1 +2 +3 +4 +5 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +c1 +11 +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +c1 +11 +UPDATE t1 SET c1=65535,c2=32767 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +65535 32767 +UPDATE IGNORE t2 SET c1=0,c2=-32768 WHERE c2=2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +65535 32767 +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +65535 32767 +UPDATE t2 SET c1=32767,c2=65535 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +32767 65535 +UPDATE t2 SET c1=-32768,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +32767 65535 +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +32767 65535 +CREATE TABLE mt1 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +SELECT * FROM mt1; +c1 c2 +1 30 +2 30 +3 3 +4 4 +5 5 +SELECT * FROM mt2; +c1 c2 +11 40 +12 1 +13 40 +14 40 +15 6 +SELECT * FROM mt3; +c1 c2 +21 50 +22 50 +23 50 +24 50 +25 15 +DROP TABLE mt1,mt2,mt3; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 SMALLINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +ALTER TABLE t2 CHANGE c1 c1 SMALLINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 SMALLINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-32768,0,12),(0,255,13),(32767,65535,14); +UPDATE t2 SET c2=65535 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c1; +c1 c2 c3 +-32768 65535 12 +-12 65535 12 +-9 9 9 +-8 8 8 +-7 7 7 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 255 13 +50 50 10 +32767 65535 14 +UPDATE t2 SET c2=65535 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 +32767 65535 14 +50 65535 10 +0 255 13 +UPDATE t2 SET c2=65535 WHERE c1 <= -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -9 ORDER BY c1; +c1 c2 c3 +-32768 65535 12 +-12 65535 12 +-11 NULL 11 +-9 9 9 +UPDATE t2 SET c2=65535 WHERE c1 <=> -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -3 ORDER BY c1; +c1 c2 c3 +-3 65535 3 +UPDATE t2 SET c2=65535 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1; +c1 c2 c3 +-6 65535 6 +-5 65535 5 +-4 4 4 +UPDATE t2 SET c2=65535 WHERE c1 IN(-7,-8) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-7,-8) ORDER BY c1 DESC; +c1 c2 c3 +-7 65535 7 +-8 65535 8 +UPDATE t2 SET c2=65535 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +UPDATE t2 SET c2=65535 WHERE c1>= -32768 AND c1 < -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1>= -32768 AND c1 < -9 ORDER BY c1; +c1 c2 c3 +-32768 65535 12 +-12 65535 12 +-11 65535 11 +UPDATE t2 SET c2=65535 WHERE c1=-2 OR c2=1; +SELECT * FROM t2 WHERE c2=65535; +c1 c2 c3 +-1 65535 1 +-11 65535 11 +-12 65535 12 +-2 65535 2 +-3 65535 3 +-32768 65535 12 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +32767 65535 14 +50 65535 10 +SELECT * FROM t2; +c1 c2 c3 +-1 65535 1 +-11 65535 11 +-12 65535 12 +-2 65535 2 +-3 65535 3 +-32768 65535 12 +-4 4 4 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +-9 9 9 +0 255 13 +32767 65535 14 +50 65535 10 +SELECT c2 FROM t2; +c2 +255 +4 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +9 +SELECT c2 FROM t2 ORDER BY c2 DESC; +c2 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +255 +9 +4 +SELECT * FROM t2 WHERE c2=65535; +c1 c2 c3 +-1 65535 1 +-11 65535 11 +-12 65535 12 +-2 65535 2 +-3 65535 3 +-32768 65535 12 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +32767 65535 14 +50 65535 10 +SELECT * FROM t2 WHERE c2 <> 65535 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +SELECT * FROM t2 WHERE c2 <> 65535 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 > 65535 ORDER BY c2,c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= 65535 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-32768 65535 12 +-12 65535 12 +SELECT * FROM t2 WHERE c2 < 65535 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +SELECT * FROM t2 WHERE c2 <= 65535 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 <=> 65535 ORDER BY c2,c1 DESC; +c1 c2 c3 +32767 65535 14 +50 65535 10 +-1 65535 1 +-2 65535 2 +-3 65535 3 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +-11 65535 11 +-12 65535 12 +-32768 65535 12 +SELECT * FROM t2 WHERE c2 <=> 65535 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-32768 65535 12 +-12 65535 12 +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 65535 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +-32768 65535 12 +-12 65535 12 +-11 65535 11 +-8 65535 8 +-7 65535 7 +-6 65535 6 +-5 65535 5 +-3 65535 3 +-2 65535 2 +-1 65535 1 +50 65535 10 +32767 65535 14 +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 65535 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 IN(0,65535) ORDER BY c2,c1 DESC; +c1 c2 c3 +32767 65535 14 +50 65535 10 +-1 65535 1 +-2 65535 2 +-3 65535 3 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +-11 65535 11 +-12 65535 12 +-32768 65535 12 +SELECT * FROM t2 WHERE c2 IN(0,65535) ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-32768 65535 12 +-12 65535 12 +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 65535 ORDER BY c2,c1 DESC; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +32767 65535 14 +50 65535 10 +-1 65535 1 +-2 65535 2 +-3 65535 3 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +-11 65535 11 +-12 65535 12 +-32768 65535 12 +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 65535 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +32767 65535 14 +50 65535 10 +-1 65535 1 +-2 65535 2 +-3 65535 3 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +-11 65535 11 +-12 65535 12 +-32768 65535 12 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2=65535 OR c1=-4; +c1 c2 c3 +-1 65535 1 +-11 65535 11 +-12 65535 12 +-2 65535 2 +-3 65535 3 +-32768 65535 12 +-4 4 4 +-5 65535 5 +-6 65535 6 +-7 65535 7 +-8 65535 8 +32767 65535 14 +50 65535 10 +CREATE TABLE mt1 (a smallint not null primary key, b smallint not null, key (b)); +CREATE TABLE mt2 (a smallint not null primary key, b smallint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +update mt1,mt2 set mt1.a=mt1.a+100; +select * from mt1; +a b +101 1 +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +select * from mt1; +a b +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +select * from mt1; +a b +102 12 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +select * from mt1; +a b +102 12 +103 5 +104 6 +105 7 +106 6 +107 7 +108 8 +109 9 +201 1 +select * from mt2; +a b +1 1 +2 2 +3 13 +4 14 +5 15 +6 6 +7 7 +8 8 +9 9 +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 9 +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +1 1 8 +0 0 7 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-2 2 2 +-1 1 1 +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +c1 c2 c3 +DELETE FROM t2 WHERE c1=-3 OR c2=2; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +c1 c2 c3 +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +0 0 7 +-2 2 2 +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +-1 1 1 +1 1 8 +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +127 255 11 +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +3 NULL 10 +2 NULL 9 +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +255 -128 2 127 255 1 +3 NULL 5 -1 NULL 5 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); +ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data +CREATE TABLE t3(c1 SMALLINT UNSIGNED NOT NULL PRIMARY KEY, c2 SMALLINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 SMALLINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +200 126 1 200 1 +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +DROP TABLE t1,t2,t3,t4; +CREATE TABLE t1(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT SIGNED NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +SELECT * FROM t1; +c1 c2 c3 +0 -128 0 +0 NULL 3 +1 1 1 +101 -101 4 +102 -102 5 +103 -103 6 +104 -104 7 +105 -105 8 +2 2 2 +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c1=110; +c1 c2 c3 +110 -104 7 +110 -105 8 +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +c1 c2 c3 +102 NULL 4 +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +SELECT c1,c2 FROM t1 WHERE c1=120; +c1 c2 +120 NULL +120 NULL +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +SELECT c1,c2 FROM t1 WHERE c2=-102; +c1 c2 +0 -102 +UPDATE t1 SET c1=0,c2=-8388608 WHERE c1=103 AND c2=-103; +SELECT * FROM t1 WHERE c1=0 AND c2=-8388608; +c1 c2 c3 +0 -8388608 6 +UPDATE t1 SET c1=16777215,c2=8388607 WHERE c1=104 OR c2=105; +SELECT * FROM t1 WHERE c1=16777215 AND c2=8388607; +c1 c2 c3 +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +SELECT * FROM t1 WHERE c2=0; +c1 c2 c3 +1 0 1 +2 0 2 +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=16777216,c2=8388608 WHERE c2 BETWEEN -108 AND -106; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +SELECT COUNT(*) FROM t1 WHERE c1=16777216 AND c2=8388608 /* no rows */; +COUNT(*) +0 +SELECT * FROM t1 WHERE c1=16777215 AND c2=8388607; +c1 c2 c3 +16777215 8388607 10 +16777215 8388607 11 +16777215 8388607 9 +UPDATE IGNORE t1 SET c2=-8388609 WHERE c1=109 ORDER BY c1; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 13 +SELECT c1,c2 FROM t1 WHERE c1=109; +c1 c2 +109 -8388608 +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c2=-110; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT c1,c2 FROM t1 WHERE c2=-110; +c1 c2 +0 -110 +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -8388608 6 +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +c1 c2 c3 +1 0 1 +2 0 2 +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +SELECT * FROM t1; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -8388608 6 +109 -8388608 12 +110 -104 7 +110 -105 8 +120 NULL 3 +120 NULL 4 +16777215 8388607 10 +16777215 8388607 11 +16777215 8388607 9 +2 1 1 +255 127 13 +3 1 2 +CREATE TABLE t2(c1 MEDIUMINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 MEDIUMINT UNSIGNED NULL, c3 INT); +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +UPDATE t2 SET c1=1 WHERE c1=3; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +SELECT c1 FROM t2; +c1 +1 +2 +3 +4 +5 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +c1 +11 +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +c1 +11 +UPDATE t1 SET c1=16777215,c2=8388607 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +16777215 8388607 +UPDATE IGNORE t2 SET c1=0,c2=-8388608 WHERE c2=2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +16777215 8388607 +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +16777215 8388607 +UPDATE t2 SET c1=8388607,c2=16777215 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +8388607 16777215 +UPDATE t2 SET c1=-8388608,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +8388607 16777215 +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +8388607 16777215 +CREATE TABLE mt1 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +SELECT * FROM mt1; +c1 c2 +1 30 +2 30 +3 3 +4 4 +5 5 +SELECT * FROM mt2; +c1 c2 +11 40 +12 1 +13 40 +14 40 +15 6 +SELECT * FROM mt3; +c1 c2 +21 50 +22 50 +23 50 +24 50 +25 15 +DROP TABLE mt1,mt2,mt3; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 MEDIUMINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +ALTER TABLE t2 CHANGE c1 c1 MEDIUMINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 MEDIUMINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-8388608,0,12),(0,255,13),(8388607,16777215,14); +UPDATE t2 SET c2=16777215 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c1; +c1 c2 c3 +-8388608 16777215 12 +-12 16777215 12 +-9 9 9 +-8 8 8 +-7 7 7 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 255 13 +50 50 10 +8388607 16777215 14 +UPDATE t2 SET c2=16777215 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 +8388607 16777215 14 +50 16777215 10 +0 255 13 +UPDATE t2 SET c2=16777215 WHERE c1 <= -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -9 ORDER BY c1; +c1 c2 c3 +-8388608 16777215 12 +-12 16777215 12 +-11 NULL 11 +-9 9 9 +UPDATE t2 SET c2=16777215 WHERE c1 <=> -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -3 ORDER BY c1; +c1 c2 c3 +-3 16777215 3 +UPDATE t2 SET c2=16777215 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1; +c1 c2 c3 +-6 16777215 6 +-5 16777215 5 +-4 4 4 +UPDATE t2 SET c2=16777215 WHERE c1 IN(-7,-8) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-7,-8) ORDER BY c1 DESC; +c1 c2 c3 +-7 16777215 7 +-8 16777215 8 +UPDATE t2 SET c2=16777215 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +UPDATE t2 SET c2=16777215 WHERE c1>= -8388608 AND c1 < -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1>= -8388608 AND c1 < -9 ORDER BY c1; +c1 c2 c3 +-8388608 16777215 12 +-12 16777215 12 +-11 16777215 11 +UPDATE t2 SET c2=16777215 WHERE c1=-2 OR c2=1; +SELECT * FROM t2 WHERE c2=16777215; +c1 c2 c3 +-1 16777215 1 +-11 16777215 11 +-12 16777215 12 +-2 16777215 2 +-3 16777215 3 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-8388608 16777215 12 +50 16777215 10 +8388607 16777215 14 +SELECT * FROM t2; +c1 c2 c3 +-1 16777215 1 +-11 16777215 11 +-12 16777215 12 +-2 16777215 2 +-3 16777215 3 +-4 4 4 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-8388608 16777215 12 +-9 9 9 +0 255 13 +50 16777215 10 +8388607 16777215 14 +SELECT c2 FROM t2; +c2 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +255 +4 +9 +SELECT c2 FROM t2 ORDER BY c2 DESC; +c2 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +16777215 +255 +9 +4 +SELECT * FROM t2 WHERE c2=16777215; +c1 c2 c3 +-1 16777215 1 +-11 16777215 11 +-12 16777215 12 +-2 16777215 2 +-3 16777215 3 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-8388608 16777215 12 +50 16777215 10 +8388607 16777215 14 +SELECT * FROM t2 WHERE c2 <> 16777215 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +SELECT * FROM t2 WHERE c2 <> 16777215 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 > 16777215 ORDER BY c2,c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= 16777215 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-8388608 16777215 12 +-12 16777215 12 +SELECT * FROM t2 WHERE c2 < 16777215 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +SELECT * FROM t2 WHERE c2 <= 16777215 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 <=> 16777215 ORDER BY c2,c1 DESC; +c1 c2 c3 +8388607 16777215 14 +50 16777215 10 +-1 16777215 1 +-2 16777215 2 +-3 16777215 3 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-11 16777215 11 +-12 16777215 12 +-8388608 16777215 12 +SELECT * FROM t2 WHERE c2 <=> 16777215 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-8388608 16777215 12 +-12 16777215 12 +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 16777215 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +-8388608 16777215 12 +-12 16777215 12 +-11 16777215 11 +-8 16777215 8 +-7 16777215 7 +-6 16777215 6 +-5 16777215 5 +-3 16777215 3 +-2 16777215 2 +-1 16777215 1 +50 16777215 10 +8388607 16777215 14 +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 16777215 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 IN(0,16777215) ORDER BY c2,c1 DESC; +c1 c2 c3 +8388607 16777215 14 +50 16777215 10 +-1 16777215 1 +-2 16777215 2 +-3 16777215 3 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-11 16777215 11 +-12 16777215 12 +-8388608 16777215 12 +SELECT * FROM t2 WHERE c2 IN(0,16777215) ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-8388608 16777215 12 +-12 16777215 12 +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 16777215 ORDER BY c2,c1 DESC; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +8388607 16777215 14 +50 16777215 10 +-1 16777215 1 +-2 16777215 2 +-3 16777215 3 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-11 16777215 11 +-12 16777215 12 +-8388608 16777215 12 +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 16777215 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +8388607 16777215 14 +50 16777215 10 +-1 16777215 1 +-2 16777215 2 +-3 16777215 3 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-11 16777215 11 +-12 16777215 12 +-8388608 16777215 12 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2=16777215 OR c1=-4; +c1 c2 c3 +-1 16777215 1 +-11 16777215 11 +-12 16777215 12 +-2 16777215 2 +-3 16777215 3 +-4 4 4 +-5 16777215 5 +-6 16777215 6 +-7 16777215 7 +-8 16777215 8 +-8388608 16777215 12 +50 16777215 10 +8388607 16777215 14 +CREATE TABLE mt1 (a mediumint not null primary key, b mediumint not null, key (b)); +CREATE TABLE mt2 (a mediumint not null primary key, b mediumint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +update mt1,mt2 set mt1.a=mt1.a+100; +select * from mt1; +a b +101 1 +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +select * from mt1; +a b +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +select * from mt1; +a b +102 12 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +select * from mt1; +a b +102 12 +103 5 +104 6 +105 7 +106 6 +107 7 +108 8 +109 9 +201 1 +select * from mt2; +a b +1 1 +2 2 +3 13 +4 14 +5 15 +6 6 +7 7 +8 8 +9 9 +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 9 +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +1 1 8 +0 0 7 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-2 2 2 +-1 1 1 +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +c1 c2 c3 +DELETE FROM t2 WHERE c1=-3 OR c2=2; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +c1 c2 c3 +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +0 0 7 +-2 2 2 +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +-1 1 1 +1 1 8 +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +127 255 11 +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +3 NULL 10 +2 NULL 9 +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +255 -128 2 127 255 1 +3 NULL 5 -1 NULL 5 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); +ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data +CREATE TABLE t3(c1 MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, c2 MEDIUMINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 MEDIUMINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +200 126 1 200 1 +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +DROP TABLE t1,t2,t3,t4; +CREATE TABLE t1(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT SIGNED NULL, c3 INT, INDEX idx2(c2)); +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +SELECT * FROM t1; +c1 c2 c3 +0 -128 0 +0 NULL 3 +1 1 1 +101 -101 4 +102 -102 5 +103 -103 6 +104 -104 7 +105 -105 8 +2 2 2 +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c1=110; +c1 c2 c3 +110 -104 7 +110 -105 8 +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +c1 c2 c3 +102 NULL 4 +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +SELECT c1,c2 FROM t1 WHERE c1=120; +c1 c2 +120 NULL +120 NULL +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +SELECT c1,c2 FROM t1 WHERE c2=-102; +c1 c2 +0 -102 +UPDATE t1 SET c1=0,c2=-9223372036854775808 WHERE c1=103 AND c2=-103; +SELECT * FROM t1 WHERE c1=0 AND c2=-9223372036854775808; +c1 c2 c3 +0 -9223372036854775808 6 +UPDATE t1 SET c1=18446744073709551615,c2=9223372036854775807 WHERE c1=104 OR c2=105; +SELECT * FROM t1 WHERE c1=18446744073709551615 AND c2=9223372036854775807; +c1 c2 c3 +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +SELECT * FROM t1 WHERE c2=0; +c1 c2 c3 +1 0 1 +2 0 2 +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=18446744073709551616,c2=9223372036854775808 WHERE c2 BETWEEN -108 AND -106; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 1 +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c1' at row 2 +Warning 1264 Out of range value for column 'c2' at row 2 +Warning 1264 Out of range value for column 'c1' at row 3 +Warning 1264 Out of range value for column 'c2' at row 3 +SELECT COUNT(*) FROM t1 WHERE c1=18446744073709551616 AND c2=9223372036854775808 /* no rows */; +COUNT(*) +0 +SELECT * FROM t1 WHERE c1=18446744073709551615 AND c2=9223372036854775807; +c1 c2 c3 +18446744073709551615 9223372036854775807 10 +18446744073709551615 9223372036854775807 11 +18446744073709551615 9223372036854775807 9 +UPDATE IGNORE t1 SET c2=-9223372036854775809 WHERE c1=109 ORDER BY c1; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 13 +SELECT c1,c2 FROM t1 WHERE c1=109; +c1 c2 +109 -9223372036854775808 +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c2=-110; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT c1,c2 FROM t1 WHERE c2=-110; +c1 c2 +0 -110 +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +Warnings: +Warning 1048 Column 'c1' cannot be null +SELECT * FROM t1 WHERE c1=0; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -9223372036854775808 6 +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +c1 c2 c3 +1 0 1 +2 0 2 +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +SELECT * FROM t1; +c1 c2 c3 +0 -102 5 +0 -110 14 +0 -111 15 +0 -128 0 +0 -9223372036854775808 6 +109 -9223372036854775808 12 +110 -104 7 +110 -105 8 +120 NULL 3 +120 NULL 4 +18446744073709551615 9223372036854775807 10 +18446744073709551615 9223372036854775807 11 +18446744073709551615 9223372036854775807 9 +2 1 1 +255 127 13 +3 1 2 +CREATE TABLE t2(c1 BIGINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 BIGINT UNSIGNED NULL, c3 INT); +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +UPDATE t2 SET c1=1 WHERE c1=3; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +SELECT c1 FROM t2; +c1 +1 +2 +3 +4 +5 +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +c1 +11 +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +c1 +11 +UPDATE t1 SET c1=18446744073709551615,c2=9223372036854775807 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +18446744073709551615 9223372036854775807 +UPDATE IGNORE t2 SET c1=0,c2=-9223372036854775808 WHERE c2=2; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +18446744073709551615 9223372036854775807 +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +c1 c2 +1 2 +4 5 +7 8 +10 11 +18446744073709551615 9223372036854775807 +UPDATE t2 SET c1=9223372036854775807,c2=18446744073709551615 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +9223372036854775807 18446744073709551615 +UPDATE t2 SET c1=-9223372036854775808,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +9223372036854775807 18446744073709551615 +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; +c1 c2 +0 0 +4 0 +7 8 +10 11 +9223372036854775807 18446744073709551615 +CREATE TABLE mt1 (c1 BIGINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 BIGINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 BIGINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +SELECT * FROM mt1; +c1 c2 +1 30 +2 30 +3 3 +4 4 +5 5 +SELECT * FROM mt2; +c1 c2 +11 40 +12 1 +13 40 +14 40 +15 6 +SELECT * FROM mt3; +c1 c2 +21 50 +22 50 +23 50 +24 50 +25 15 +DROP TABLE mt1,mt2,mt3; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 BIGINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +c1 c2 c3 c1 c2 c3 +50 50 10 50 50 10 +ALTER TABLE t2 CHANGE c1 c1 BIGINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 BIGINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-9223372036854775808,0,12),(0,255,13),(9223372036854775807,18446744073709551615,14); +UPDATE t2 SET c2=18446744073709551615 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c1; +c1 c2 c3 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +-9 9 9 +-8 8 8 +-7 7 7 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 255 13 +50 50 10 +9223372036854775807 18446744073709551615 14 +UPDATE t2 SET c2=18446744073709551615 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1 DESC; +c1 c2 c3 +9223372036854775807 18446744073709551615 14 +50 18446744073709551615 10 +0 255 13 +UPDATE t2 SET c2=18446744073709551615 WHERE c1 <= -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -9 ORDER BY c1; +c1 c2 c3 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +-11 NULL 11 +-9 9 9 +UPDATE t2 SET c2=18446744073709551615 WHERE c1 <=> -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -3 ORDER BY c1; +c1 c2 c3 +-3 18446744073709551615 3 +UPDATE t2 SET c2=18446744073709551615 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1; +c1 c2 c3 +-6 18446744073709551615 6 +-5 18446744073709551615 5 +-4 4 4 +UPDATE t2 SET c2=18446744073709551615 WHERE c1 IN(-7,-8) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-7,-8) ORDER BY c1 DESC; +c1 c2 c3 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +UPDATE t2 SET c2=18446744073709551615 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +c1 c2 c3 +UPDATE t2 SET c2=18446744073709551615 WHERE c1>= -9223372036854775808 AND c1 < -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1>= -9223372036854775808 AND c1 < -9 ORDER BY c1; +c1 c2 c3 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +-11 18446744073709551615 11 +UPDATE t2 SET c2=18446744073709551615 WHERE c1=-2 OR c2=1; +SELECT * FROM t2 WHERE c2=18446744073709551615; +c1 c2 c3 +-1 18446744073709551615 1 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-9223372036854775808 18446744073709551615 12 +50 18446744073709551615 10 +9223372036854775807 18446744073709551615 14 +SELECT * FROM t2; +c1 c2 c3 +-1 18446744073709551615 1 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-4 4 4 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-9 9 9 +-9223372036854775808 18446744073709551615 12 +0 255 13 +50 18446744073709551615 10 +9223372036854775807 18446744073709551615 14 +SELECT c2 FROM t2; +c2 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +255 +4 +9 +SELECT c2 FROM t2 ORDER BY c2 DESC; +c2 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +18446744073709551615 +255 +9 +4 +SELECT * FROM t2 WHERE c2=18446744073709551615; +c1 c2 c3 +-1 18446744073709551615 1 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-9223372036854775808 18446744073709551615 12 +50 18446744073709551615 10 +9223372036854775807 18446744073709551615 14 +SELECT * FROM t2 WHERE c2 <> 18446744073709551615 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +SELECT * FROM t2 WHERE c2 <> 18446744073709551615 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 > 18446744073709551615 ORDER BY c2,c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 >= 18446744073709551615 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 < 18446744073709551615 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +SELECT * FROM t2 WHERE c2 <= 18446744073709551615 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 <=> 18446744073709551615 ORDER BY c2,c1 DESC; +c1 c2 c3 +9223372036854775807 18446744073709551615 14 +50 18446744073709551615 10 +-1 18446744073709551615 1 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-9223372036854775808 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 <=> 18446744073709551615 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 18446744073709551615 ORDER BY c2,c1; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +-11 18446744073709551615 11 +-8 18446744073709551615 8 +-7 18446744073709551615 7 +-6 18446744073709551615 6 +-5 18446744073709551615 5 +-3 18446744073709551615 3 +-2 18446744073709551615 2 +-1 18446744073709551615 1 +50 18446744073709551615 10 +9223372036854775807 18446744073709551615 14 +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 18446744073709551615 ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 IN(0,18446744073709551615) ORDER BY c2,c1 DESC; +c1 c2 c3 +9223372036854775807 18446744073709551615 14 +50 18446744073709551615 10 +-1 18446744073709551615 1 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-9223372036854775808 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 IN(0,18446744073709551615) ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-9223372036854775808 18446744073709551615 12 +-12 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 18446744073709551615 ORDER BY c2,c1 DESC; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +9223372036854775807 18446744073709551615 14 +50 18446744073709551615 10 +-1 18446744073709551615 1 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-9223372036854775808 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 18446744073709551615 ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +-4 4 4 +-9 9 9 +0 255 13 +9223372036854775807 18446744073709551615 14 +50 18446744073709551615 10 +-1 18446744073709551615 1 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-9223372036854775808 18446744073709551615 12 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; +c1 c2 c3 +-4 4 4 +-9 9 9 +SELECT * FROM t2 WHERE c2=18446744073709551615 OR c1=-4; +c1 c2 c3 +-1 18446744073709551615 1 +-11 18446744073709551615 11 +-12 18446744073709551615 12 +-2 18446744073709551615 2 +-3 18446744073709551615 3 +-4 4 4 +-5 18446744073709551615 5 +-6 18446744073709551615 6 +-7 18446744073709551615 7 +-8 18446744073709551615 8 +-9223372036854775808 18446744073709551615 12 +50 18446744073709551615 10 +9223372036854775807 18446744073709551615 14 +CREATE TABLE mt1 (a bigint not null primary key, b bigint not null, key (b)); +CREATE TABLE mt2 (a bigint not null primary key, b bigint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +update mt1,mt2 set mt1.a=mt1.a+100; +select * from mt1; +a b +101 1 +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +select * from mt1; +a b +102 2 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +select * from mt1; +a b +102 12 +103 3 +104 4 +105 5 +106 6 +107 7 +108 8 +109 9 +201 1 +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +select * from mt1; +a b +102 12 +103 5 +104 6 +105 7 +106 6 +107 7 +108 8 +109 9 +201 1 +select * from mt2; +a b +1 1 +2 2 +3 13 +4 14 +5 15 +6 6 +7 7 +8 8 +9 9 +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 9 +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +1 1 8 +0 0 7 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +-4 4 4 +-5 5 5 +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-2 2 2 +-1 1 1 +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +c1 c2 c3 +-2 2 2 +-1 1 1 +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +-1 1 1 +-2 2 2 +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +c1 c2 c3 +DELETE FROM t2 WHERE c1=-3 OR c2=2; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +c1 c2 c3 +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-128 0 1 +-6 6 6 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +-2 2 2 +-1 1 1 +0 0 7 +1 1 8 +2 NULL 9 +3 NULL 10 +127 255 11 +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +0 0 7 +-2 2 2 +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +c1 c2 c3 +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +-1 1 1 +1 1 8 +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +c1 c2 c3 +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-5 5 5 +-4 4 4 +-3 3 3 +127 255 11 +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +c1 c2 c3 +-3 3 3 +127 255 11 +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +3 NULL 10 +2 NULL 9 +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +255 -128 2 127 255 1 +3 NULL 5 -1 NULL 5 +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +c1 c2 c3 c1 c2 c3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +1 127 3 127 1 2 +1 127 3 127 255 1 +2 -128 4 -128 0 3 +2 -128 4 -128 2 4 +254 127 1 127 1 2 +254 127 1 127 255 1 +255 -128 2 -128 0 3 +255 -128 2 -128 2 4 +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +c1 c2 c3 c1 c2 c3 +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); +ERROR HY000: Table 't1' is specified twice, both as a target for 'DELETE' and as a separate source for data +CREATE TABLE t3(c1 BIGINT UNSIGNED NOT NULL PRIMARY KEY, c2 BIGINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 BIGINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +200 126 1 200 1 +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +c1 c2 c3 c1 c2 +DROP TABLE t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/update_time.result b/mysql-test/suite/engines/iuds/r/update_time.result new file mode 100644 index 00000000..13178005 --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/update_time.result @@ -0,0 +1,1486 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIME NOT NULL, c2 TIME NULL, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIME NOT NULL, c2 TIME NULL); +INSERT INTO t1 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t2 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t3 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t4 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t1 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t2 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t3 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t4 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t1 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t2 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t3 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t4 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +SET TIMESTAMP=1233216687; +INSERT INTO t1 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t2 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t3 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t4 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t1 VALUES('123456',null); +INSERT INTO t3 VALUES('123456',null); +INSERT INTO t4 VALUES('123456',null); +SELECT * FROM t1; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t2; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t3; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t4; +c1 c2 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT c1 FROM t1 WHERE c1='00:00:07'; +c1 +00:00:07 +UPDATE t1 SET c1='22:22:22' WHERE c1='00:00:07'; +SELECT c1 FROM t1; +c1 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +12:34:56 +150:00:00 +22:22:22 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c1 FROM t2 WHERE c1='-838:59:59' AND c2='-838:59:59'; +c1 +-838:59:59 +UPDATE t2 SET c1='22:22:22' WHERE c1='-838:59:59' AND c2='-838:59:59'; +SELECT c1 FROM t2; +c1 +-838:59:55 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +22:22:22 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c2 FROM t3 WHERE c2=null; +c2 +UPDATE t3 SET c2='34 22:59:59' WHERE c2=null; +SELECT c2 FROM t3; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +SELECT c2 FROM t4 WHERE c1='00:00:00'; +c2 +00:00:00 +UPDATE t4 SET c2=null WHERE c1='00:00:00'; +SELECT c2 FROM t4; +c2 +-838:59:55 +-838:59:59 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +NULL +SELECT c1 FROM t4 WHERE c1 < '000009'; +c1 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +UPDATE t4 SET c1='0101' WHERE c1 < '000009' ORDER BY c1 LIMIT 3; +SELECT c1 FROM t4; +c1 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:01:01 +00:01:01 +00:01:01 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +12:34:56 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c1 FROM t1 WHERE c1='12:12:12'; +c1 +12:12:12 +UPDATE t1 SET c1='-12:12:12' WHERE c1='12:12:12'; +SELECT c1 FROM t1; +c1 +-12:12:12 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:34:56 +150:00:00 +22:22:22 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c1 FROM t1 WHERE c1=111127; +c1 +11:11:27 +UPDATE t1 SET c1=c1+c2 WHERE c1=111127; +SELECT c1 FROM t1; +c1 +-12:12:12 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +125:00:00 +125:05:00 +12:34:56 +150:00:00 +22:22:22 +22:22:54 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c1 FROM t2 WHERE c2='100:04:04'; +c1 +100:04:04 +UPDATE t2 SET c1=c1 - '010101' WHERE c2=1000404; +SELECT c1 FROM t2; +c1 +-838:59:55 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +22:22:22 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +99:03:03 +SELECT c2 FROM t3 WHERE c2=020202; +c2 +02:02:02 +UPDATE t3 SET c2=c1 * 2 WHERE c2='020202'; +SELECT c1 FROM t3; +c1 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +12:34:56 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +SELECT c1 FROM t4 WHERE c1=121212; +c1 +12:12:12 +UPDATE t4 SET c1=c1 / 2 WHERE c1='12:12:12'; +SELECT c1 FROM t4; +c1 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:01:01 +00:01:01 +00:01:01 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +06:06:06 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:34:56 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +UPDATE t1 SET c2=1250000 WHERE c1='00:00:09' AND c1='01:01:01'; +SELECT c2 FROM t1; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +UPDATE t2 SET c1=125959 WHERE c2=000400 OR c2= 000900; +SELECT c1 FROM t2; +c1 +-838:59:55 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +12:59:59 +150:00:00 +22:22:22 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +99:03:03 +UPDATE t2 SET c2='1111' WHERE c1 IN ('100:04:04',005454,'2:2:2',111111); +SELECT c2 FROM t2; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:11:11 +00:11:11 +00:11:11 +00:13:13 +00:51:51 +01:01:01 +03:03:00 +08:08:08 +100:04:04 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +UPDATE IGNORE t4 SET c2='-838:59:60' WHERE c1='100:04:04'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 12 +SELECT c2 FROM t4; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +NULL +UPDATE IGNORE t4 SET c2='838:59:60' WHERE c1='100:04:04'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 12 +SELECT c2 FROM t4; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +NULL +UPDATE t4 SET c2='00:00:00' WHERE c1='100:04:04'; +SELECT c2 FROM t4; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +NULL +UPDATE IGNORE t4 SET c2='11:11:60' WHERE c1='100:04:04'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 12 +SELECT c2 FROM t4; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +NULL +UPDATE IGNORE t4 SET c2='11:60:11' WHERE c1='100:04:04'; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 12 +SELECT c2 FROM t4; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +NULL +SELECT c1 FROM t3 WHERE c2 < '000007'; +c1 +-838:59:55 +-838:59:59 +00:00:00 +00:00:01 +00:00:04 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t3 SET c1=NULL WHERE c2 < '000007'; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t3 SET c1=NULL WHERE c2 < '000007'; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT c1 from t3 WHERE c2 < '000007'; +c1 +00:00:00 +00:00:00 +00:00:00 +00:00:00 +00:00:00 +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c1=8385958 WHERE c2='34 22:59:59'; +ERROR 23000: Duplicate entry '838:59:58' for key 'PRIMARY' +UPDATE IGNORE t1 SET c2='def' WHERE c1=59; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 1 +SELECT c2 FROM t1; +c2 +-838:59:55 +-838:59:59 +00:00:00 +00:00:00 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:12:12 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +NULL +UPDATE t4 SET c1=11:11:11 WHERE c2=NULL; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':11:11 WHERE c2=NULL' at line 1 +SELECT c1 FROM t4; +c1 +00:00:01 +00:00:04 +00:00:07 +00:00:08 +00:00:09 +00:00:10 +00:00:11 +00:00:12 +00:00:14 +00:00:50 +00:00:53 +00:00:59 +00:01:01 +00:01:01 +00:01:01 +00:03:00 +00:04:00 +00:09:09 +00:13:13 +00:51:51 +00:54:54 +01:01:01 +02:02:02 +03:03:00 +06:06:06 +08:08:08 +100:04:04 +11:11:11 +11:11:27 +125:00:00 +125:05:00 +12:34:56 +150:00:00 +838:00:00 +838:56:00 +838:58:00 +838:59:51 +838:59:52 +838:59:55 +838:59:57 +838:59:58 +838:59:59 +UPDATE t1,t2,t3,t4 SET t1.c2=t2.c1+t2.c2,t3.c2=t4.c1*2 WHERE t1.c1='00:13:13' AND t2.c1=080808 AND t4.c1='00:04:00' AND t3.c2=020202; +UPDATE t1 SET t1.c1='00:12:12' WHERE c1='00:09:09' AND c2='00:09:09'; +SELECT * FROM t1; +c1 c2 +-12:12:12 12:12:12 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:00 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:12:12 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:34:56 NULL +150:00:00 150:00:00 +22:22:22 00:00:07 +22:22:54 11:11:27 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +UPDATE IGNORE t1 SET t1.c2='99999.99999' WHERE c1 BETWEEN 080000 AND 100000; +Warnings: +Warning 1265 Data truncated for column 'c2' at row N +SELECT * FROM t1; +c1 c2 +-12:12:12 12:12:12 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:00 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:12:12 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 00:00:00 +100:04:04 100:04:04 +11:11:11 11:11:11 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:34:56 NULL +150:00:00 150:00:00 +22:22:22 00:00:07 +22:22:54 11:11:27 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +UPDATE IGNORE t1 SET c1=c1+1,c2=c2-1 WHERE c1 IN (222222,8385955,1500000) ORDER BY c1; +Warnings: +Warning 1265 Data truncated for column 'c2' at row 2 +SELECT * FROM t1; +c1 c2 +-12:12:12 12:12:12 +-838:59:55 -838:59:55 +-838:59:59 -838:59:59 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:00 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:12:12 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +08:08:08 00:00:00 +100:04:04 100:04:04 +11:11:11 11:11:11 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:34:56 NULL +150:00:01 00:00:00 +22:22:23 00:00:06 +22:22:54 11:11:27 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:56 838:59:54 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +UPDATE t1,t2 SET t1.c2='22222.22222' WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; +SELECT * FROM t1; +c1 c2 +-12:12:12 12:12:12 +-838:59:55 02:22:22 +-838:59:59 -838:59:59 +00:00:00 02:22:22 +00:00:01 02:22:22 +00:00:04 02:22:22 +00:00:08 02:22:22 +00:00:09 02:22:22 +00:00:10 02:22:22 +00:00:11 02:22:22 +00:00:12 02:22:22 +00:00:14 02:22:22 +00:00:50 02:22:22 +00:00:53 02:22:22 +00:00:59 00:00:00 +00:03:00 02:22:22 +00:04:00 00:04:00 +00:12:12 00:09:09 +00:13:13 02:22:22 +00:51:51 02:22:22 +00:54:54 00:54:54 +01:01:01 02:22:22 +02:02:02 02:02:02 +03:03:00 02:22:22 +08:08:08 00:00:00 +100:04:04 100:04:04 +11:11:11 11:11:11 +125:00:00 02:22:22 +125:05:00 02:22:22 +12:34:56 NULL +150:00:01 00:00:00 +22:22:23 00:00:06 +22:22:54 11:11:27 +838:00:00 02:22:22 +838:56:00 02:22:22 +838:58:00 02:22:22 +838:59:51 02:22:22 +838:59:52 02:22:22 +838:59:56 838:59:54 +838:59:57 02:22:22 +838:59:58 02:22:22 +838:59:59 02:22:22 +SELECT * FROM t2; +c1 c2 +-838:59:55 -838:59:55 +00:00:00 00:00:00 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:11:11 +01:01:01 01:01:01 +02:02:02 00:11:11 +03:03:00 03:03:00 +08:08:08 08:08:08 +11:11:11 00:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:59:59 00:04:00 +150:00:00 150:00:00 +22:22:22 -838:59:59 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +99:03:03 100:04:04 +SELECT * FROM t3; +c1 c2 +00:00:00 -838:59:55 +00:00:00 -838:59:59 +00:00:00 00:00:00 +00:00:00 00:00:01 +00:00:00 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 04:04:04 +03:03:00 03:03:00 +08:08:08 08:08:08 +100:04:04 100:04:04 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:12:12 12:12:12 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +SELECT * FROM t4; +c1 c2 +00:00:01 00:00:01 +00:00:04 00:00:04 +00:00:07 00:00:07 +00:00:08 00:00:08 +00:00:09 00:00:09 +00:00:10 00:00:10 +00:00:11 00:00:11 +00:00:12 00:00:12 +00:00:14 00:00:14 +00:00:50 00:00:50 +00:00:53 00:00:53 +00:00:59 00:00:59 +00:01:01 -838:59:55 +00:01:01 -838:59:59 +00:01:01 NULL +00:03:00 00:03:00 +00:04:00 00:04:00 +00:09:09 00:09:09 +00:13:13 00:13:13 +00:51:51 00:51:51 +00:54:54 00:54:54 +01:01:01 01:01:01 +02:02:02 02:02:02 +03:03:00 03:03:00 +06:06:06 12:12:12 +08:08:08 08:08:08 +100:04:04 00:00:00 +11:11:11 11:11:11 +11:11:27 11:11:27 +125:00:00 125:00:00 +125:05:00 125:05:00 +12:34:56 NULL +150:00:00 150:00:00 +838:00:00 838:00:00 +838:56:00 838:56:00 +838:58:00 838:58:00 +838:59:51 838:59:51 +838:59:52 838:59:52 +838:59:55 838:59:55 +838:59:57 838:59:57 +838:59:58 838:59:58 +838:59:59 838:59:59 +DROP TABLE IF EXISTS t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/r/update_year.result b/mysql-test/suite/engines/iuds/r/update_year.result new file mode 100644 index 00000000..b766531f --- /dev/null +++ b/mysql-test/suite/engines/iuds/r/update_year.result @@ -0,0 +1,957 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4; +CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t3(c1 YEAR(2) NOT NULL,c2 YEAR(2), PRIMARY KEY(c1)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +CREATE TABLE t4(c1 YEAR(2), c2 YEAR(2), UNIQUE INDEX idx(c1,c2)); +Warnings: +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead +INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t4 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t1 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t2 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t3 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t4 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t1 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t2 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t3 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t4 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t1 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t2 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t3 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t4 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t1 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t2 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t3 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t4 VALUES ('09',null),('61',null),('79',null),('96',null); +SELECT * FROM t1; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1979 NULL +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 2001 +2004 2004 +2005 2005 +2009 NULL +2061 NULL +2064 2064 +2065 2065 +2069 2069 +2154 2154 +2155 2155 +SELECT * FROM t2; +c1 c2 +1901 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1979 NULL +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 2001 +2004 2004 +2005 2005 +2009 NULL +2061 NULL +2064 2064 +2065 2065 +2069 2069 +2154 2154 +2155 2155 +SELECT * FROM t3; +c1 c2 +00 00 +01 01 +01 01 +02 02 +04 04 +05 05 +09 NULL +54 54 +55 55 +61 NULL +64 64 +65 65 +69 69 +70 70 +71 71 +75 75 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +SELECT * FROM t4; +c1 c2 +00 00 +01 01 +01 01 +02 02 +04 04 +05 05 +09 NULL +54 54 +55 55 +61 NULL +64 64 +65 65 +69 69 +70 70 +71 71 +75 75 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +SELECT c1 FROM t1 WHERE c1='2005'; +c1 +2005 +UPDATE t1 SET c1='2003' WHERE c1='2005'; +SELECT c1 FROM t1; +c1 +1901 +1902 +1970 +1971 +1975 +1979 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2003 +2004 +2009 +2061 +2064 +2065 +2069 +2154 +2155 +SELECT c2 FROM t2 WHERE c2=null; +c2 +UPDATE t2 SET c2='2070' WHERE c2=null AND c1='1996'; +SELECT c2 FROM t2; +c2 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2064 +2065 +2069 +2154 +2155 +NULL +NULL +NULL +NULL +SELECT c2 FROM t3 WHERE c2 < '64'; +c2 +00 +01 +01 +02 +04 +05 +54 +55 +UPDATE t3 SET c2=null WHERE c2 < '64' ORDER BY c2 LIMIT 3; +SELECT c2 FROM t3; +c2 +01 +04 +05 +54 +55 +64 +65 +69 +70 +71 +75 +95 +97 +98 +99 +NULL +NULL +NULL +NULL +NULL +NULL +NULL +SELECT c1 FROM t4 WHERE c1 < '55'; +c1 +00 +01 +01 +02 +04 +05 +09 +UPDATE t4 SET c1='00' WHERE c1 < '65' ORDER BY c1 LIMIT 5; +SELECT c1 FROM t4; +c1 +00 +00 +00 +00 +00 +05 +09 +54 +55 +61 +64 +65 +69 +70 +71 +75 +79 +95 +96 +97 +98 +99 +SELECT c1 FROM t3 WHERE c1='05'; +c1 +05 +UPDATE t3 SET c1=c1+c2 WHERE c1='05'; +SELECT c1 FROM t3; +c1 +00 +01 +01 +02 +04 +09 +10 +54 +55 +61 +64 +65 +69 +70 +71 +75 +79 +95 +96 +97 +98 +99 +SELECT c1 FROM t4 WHERE c2=4; +c1 +00 +UPDATE t4 SET c1=c1 + 04 WHERE c2=04; +SELECT c1 FROM t4; +c1 +00 +00 +00 +00 +04 +05 +09 +54 +55 +61 +64 +65 +69 +70 +71 +75 +79 +95 +96 +97 +98 +99 +SELECT c2 FROM t3 WHERE c2=75; +c2 +75 +UPDATE t3 SET c2=c2 + 1902 WHERE c2='75'; +SELECT c2 FROM t3; +c2 +01 +04 +05 +54 +55 +64 +65 +69 +70 +71 +77 +95 +97 +98 +99 +NULL +NULL +NULL +NULL +NULL +NULL +NULL +SELECT c1 FROM t4 WHERE c1=09; +c1 +09 +UPDATE t4 SET c1=c1 - c2 WHERE c1='09'; +SELECT c1 FROM t4; +c1 +00 +00 +00 +00 +04 +05 +54 +55 +61 +64 +65 +69 +70 +71 +75 +79 +95 +96 +97 +98 +99 +NULL +SELECT c1 FROM t3 WHERE c1=75; +c1 +75 +UPDATE t3 SET c1=c1 - 01 WHERE c1='75'; +SELECT c1 FROM t3; +c1 +00 +01 +01 +02 +04 +09 +10 +54 +55 +61 +64 +65 +69 +70 +71 +74 +79 +95 +96 +97 +98 +99 +SELECT c1 FROM t4 WHERE c1=98; +c1 +98 +UPDATE t4 SET c1=c1 / 2 WHERE c1='98'; +SELECT c1 FROM t4; +c1 +00 +00 +00 +00 +04 +05 +49 +54 +55 +61 +64 +65 +69 +70 +71 +75 +79 +95 +96 +97 +99 +NULL +SELECT c2 FROM t3 WHERE c2=03; +c2 +UPDATE t3 SET c2=c2 * 03 WHERE c2='03'; +SELECT c2 FROM t3; +c2 +01 +04 +05 +54 +55 +64 +65 +69 +70 +71 +77 +95 +97 +98 +99 +NULL +NULL +NULL +NULL +NULL +NULL +NULL +SELECT c1 FROM t1 WHERE c1 > 2060 AND c1 < 2070; +c1 +2061 +2064 +2065 +2069 +UPDATE t1 SET c1=c1 + 10 WHERE c1 > 2060 AND c1 < 2070; +SELECT c1 FROM t1; +c1 +1901 +1902 +1970 +1971 +1975 +1979 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2003 +2004 +2009 +2071 +2074 +2075 +2079 +2154 +2155 +SELECT c1 FROM t2 WHERE c1 > 1969 AND c1 < 1980; +c1 +1970 +1971 +1975 +1979 +UPDATE t2 SET c1=c1 - 10 WHERE c1 > 1969 AND c1 < 1980 ORDER BY c1 LIMIT 2; +SELECT c1 FROM t2; +c1 +1901 +1902 +1960 +1961 +1975 +1979 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2009 +2061 +2064 +2065 +2069 +2154 +2155 +UPDATE t2 SET c2=2009 WHERE c1=2009 AND c2=null; +SELECT c2 FROM t2; +c2 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2064 +2065 +2069 +2154 +2155 +NULL +NULL +NULL +NULL +UPDATE t1 SET c2=2155 WHERE c1=1979 OR c1=2154; +SELECT c2 FROM t1; +c2 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2064 +2065 +2069 +2155 +2155 +2155 +NULL +NULL +NULL +UPDATE t4 SET c1=99 WHERE c2 IN (01,54,65,69,null); +SELECT c1 FROM t4; +c1 +00 +00 +04 +05 +49 +55 +61 +64 +70 +71 +75 +79 +95 +96 +97 +99 +99 +99 +99 +99 +99 +NULL +UPDATE IGNORE t1 SET c2=-1 WHERE c1=2071; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c2 FROM t1; +c2 +0000 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2005 +2064 +2065 +2069 +2155 +2155 +2155 +NULL +NULL +UPDATE t1 SET c2=0 WHERE c1=2003; +SELECT c2 FROM t1; +c2 +0000 +0000 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2001 +2004 +2064 +2065 +2069 +2155 +2155 +2155 +NULL +NULL +UPDATE IGNORE t1 SET c2=2156 WHERE c1=2001; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c2 FROM t1; +c2 +0000 +0000 +0000 +1901 +1902 +1970 +1971 +1975 +1995 +1997 +1998 +1999 +2000 +2004 +2064 +2065 +2069 +2155 +2155 +2155 +NULL +NULL +UPDATE IGNORE t4 SET c2=-1 WHERE c1=71; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c2 FROM t4; +c2 +00 +00 +01 +01 +02 +04 +05 +54 +55 +64 +65 +69 +70 +75 +95 +97 +98 +99 +NULL +NULL +NULL +NULL +UPDATE t4 SET c2=0 WHERE c1=70; +SELECT c2 FROM t4; +c2 +00 +00 +00 +01 +01 +02 +04 +05 +54 +55 +64 +65 +69 +75 +95 +97 +98 +99 +NULL +NULL +NULL +NULL +UPDATE IGNORE t4 SET c2=100 WHERE c1=79; +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +SELECT c2 FROM t4; +c2 +00 +00 +00 +00 +01 +01 +02 +04 +05 +54 +55 +64 +65 +69 +75 +95 +97 +98 +99 +NULL +NULL +NULL +SELECT c1 FROM t1 WHERE c2 < 1975; +c1 +1901 +1902 +1970 +1971 +2001 +2003 +2071 +SET SQL_MODE=STRICT_ALL_TABLES; +UPDATE t1 SET c1=NULL WHERE c2 < 1975; +ERROR 23000: Column 'c1' cannot be null +UPDATE IGNORE t1 SET c1=NULL WHERE c2 < 1975; +Warnings: +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +Warning 1048 Column 'c1' cannot be null +SELECT c1 from t1 WHERE c2 < 1975; +c1 +0000 +1902 +1970 +1971 +2001 +2003 +2071 +SET SQL_MODE=DEFAULT +#Update with invalid values +#UPDATE t2 SET c1='def' WHERE c2=2064; +UPDATE IGNORE t4 SET c1=-70 WHERE c2=75; +Warnings: +Warning 1264 Out of range value for column 'c1' at row 17 +SELECT c1 FROM t4; +c1 +00 +00 +00 +04 +05 +49 +55 +61 +64 +70 +71 +79 +95 +96 +97 +99 +99 +99 +99 +99 +99 +NULL +UPDATE t1 SET c1=1971 WHERE c2=1995; +ERROR 23000: Duplicate entry '1971' for key 'PRIMARY' +UPDATE t1,t2,t3,t4 SET t3.c1=t4.c1+t4.c2 WHERE t3.c1=61 AND t4.c2=4; +UPDATE t1 SET t1.c1=2073 WHERE c1=2074 AND c2=2064; +SELECT * FROM t1; +c1 c2 +0000 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1979 2155 +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 0000 +2003 0000 +2004 2004 +2009 NULL +2071 0000 +2073 2064 +2075 2065 +2079 2069 +2154 2155 +2155 2155 +UPDATE t1 SET t1.c2=0000 WHERE c1 BETWEEN 2000 AND 2010; +SELECT * FROM t1; +c1 c2 +0000 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1979 2155 +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 0000 +2001 0000 +2003 0000 +2004 0000 +2009 0000 +2071 0000 +2073 2064 +2075 2065 +2079 2069 +2154 2155 +2155 2155 +UPDATE IGNORE t1 SET c1=c1-1,c2=c2+1 WHERE c1 IN (2154,2009,1979); +Warnings: +Warning 1264 Out of range value for column 'c2' at row 1 +Warning 1264 Out of range value for column 'c2' at row 3 +SELECT * FROM t1; +c1 c2 +0000 1901 +1902 1902 +1970 1970 +1971 1971 +1975 1975 +1978 0000 +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 0000 +2001 0000 +2003 0000 +2004 0000 +2008 2001 +2071 0000 +2073 2064 +2075 2065 +2079 2069 +2153 0000 +2155 2155 +UPDATE t1,t2 SET t1.c2='2155' WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; +SELECT * FROM t1; +SELECT * FROM t2; +c1 c2 +1901 1901 +1902 1902 +1960 1970 +1961 1971 +1975 1975 +1979 NULL +1995 1995 +1996 NULL +1997 1997 +1998 1998 +1999 1999 +2000 2000 +2001 2001 +2004 2004 +2005 2005 +2009 NULL +2061 NULL +2064 2064 +2065 2065 +2069 2069 +2154 2154 +2155 2155 +SELECT * FROM t3; +c1 c2 +00 NULL +01 01 +01 NULL +02 NULL +04 04 +08 NULL +09 NULL +10 05 +54 54 +55 55 +64 64 +65 65 +69 69 +70 70 +71 71 +74 77 +79 NULL +95 95 +96 NULL +97 97 +98 98 +99 99 +SELECT * FROM t4; +c1 c2 +00 00 +00 02 +00 75 +04 04 +05 05 +49 98 +55 55 +61 NULL +64 64 +70 00 +71 00 +79 00 +95 95 +96 NULL +97 97 +99 01 +99 01 +99 54 +99 65 +99 69 +99 99 +NULL NULL +DROP TABLE IF EXISTS t1,t2,t3,t4; diff --git a/mysql-test/suite/engines/iuds/suite.opt b/mysql-test/suite/engines/iuds/suite.opt new file mode 100644 index 00000000..e5648163 --- /dev/null +++ b/mysql-test/suite/engines/iuds/suite.opt @@ -0,0 +1,2 @@ +--timezone=GMT-3 + diff --git a/mysql-test/suite/engines/iuds/t/delete_decimal.test b/mysql-test/suite/engines/iuds/t/delete_decimal.test new file mode 100644 index 00000000..053fc781 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/delete_decimal.test @@ -0,0 +1,383 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running DELETE tests for DECIMAL ######## + +# Create tables +CREATE TABLE t1(c1 DECIMAL(10,5) UNSIGNED NOT NULL, c2 DECIMAL(10,5) SIGNED NULL, c3 DECIMAL, c4 INT, UNIQUE INDEX idx(c1,c4)); + +# Inserting data into table t1 + +# Trailing zeroes are not stripped, D=5 +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); + +# DECIMAL := DECIMAL(10,0); Decimal values in c3 will be stripped; +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); + +# c1, c2, c3 will be rounded automatically +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); + +# Inserting maximum values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); + +# Test insert leading zero, +/- signs, overflow handling +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); + +# Inserting in scientific notations +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +#INSERT INTO t1 VALUES('0.9999999999e+4','-.999999999e+4,'0.9999999999e+10',11); + +--sorted_result +SELECT * FROM t1; + +# Deletion starts here + +# Delete by order by limit +DELETE FROM t1 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +--sorted_result +SELECT c1,c2 FROM t1; + +# Delete using range values +DELETE FROM t1 WHERE c3=1 AND c4=7; +--sorted_result +SELECT * FROM t1; +DELETE FROM t1 WHERE c3=9999999999 OR c2=1.0e-5; +--sorted_result +SELECT * FROM t1 WHERE c1=1.2e+2; +DELETE FROM t1 WHERE c4 IN (4,5,6); +--sorted_result +SELECT * FROM t1; + +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t1; + +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +DELETE FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +--sorted_result +SELECT * FROM t1; + +# Multi table delete +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888'; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; + +# Delete using various access methods +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); + +# Delete using Const +# EXPLAIN SELECT * FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +DELETE FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +--sorted_result +SELECT * FROM t2; + +# Delete using range +# EXPLAIN SELECT * FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +DELETE FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +--sorted_result +SELECT * FROM t2; +# EXPLAIN SELECT * FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +DELETE FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +--sorted_result +SELECT * FROM t2; + +# Delete using eq_ref +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +DELETE t2,t3 FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Droping the tables +--disable_warnings +DROP TABLES IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running DELETE tests for FLOAT ######## + +# Create tables +CREATE TABLE t1(c1 FLOAT(10,5) UNSIGNED NOT NULL, c2 FLOAT(10,5) SIGNED NULL, c3 FLOAT, c4 INT, UNIQUE INDEX idx(c1,c4)); + +# Inserting data into table t1 + +# Trailing zeroes are not stripped, D=5 +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); + +# DECIMAL := DECIMAL(10,0); Decimal values in c3 will be stripped; +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); + +# c1, c2, c3 will be rounded automatically +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); + +# Inserting maximum values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); + +# Test insert leading zero, +/- signs, overflow handling +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); + +# Inserting in scientific notations +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +#INSERT INTO t1 VALUES('0.9999999999e+4','-.999999999e+4,'0.9999999999e+10',11); + +--sorted_result +SELECT * FROM t1; + +# Deletion starts here + +# Delete by order by limit +DELETE FROM t1 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +--sorted_result +SELECT c1,c2 FROM t1; + +# Delete using range values +DELETE FROM t1 WHERE c3=1 AND c4=7; +--sorted_result +SELECT * FROM t1; +DELETE FROM t1 WHERE c3=9999999999 OR c2=1.0e-5; +--sorted_result +SELECT * FROM t1 WHERE c1=1.2e+2; +DELETE FROM t1 WHERE c4 IN (4,5,6); +--sorted_result +SELECT * FROM t1; + +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; + +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +DELETE FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; + +# Multi table delete +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t4; +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888'; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; + +# Delete using various access methods +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); + +# Delete using Const +# EXPLAIN SELECT * FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +DELETE FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +--sorted_result +SELECT * FROM t2; + +# Delete using range +# EXPLAIN SELECT * FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +DELETE FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +--sorted_result +SELECT * FROM t2; +# EXPLAIN SELECT * FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +DELETE FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +--sorted_result +SELECT * FROM t2; + +# Delete using eq_ref +DROP TABLE t2,t3; +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +DELETE t2,t3 FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t4; +# Droping the tables +--disable_warnings +DROP TABLES IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running DELETE tests for DOUBLE ######## + +# Create tables +CREATE TABLE t1(c1 DOUBLE(10,5) UNSIGNED NOT NULL, c2 DOUBLE(10,5) SIGNED NULL, c3 DOUBLE, c4 INT, UNIQUE INDEX idx(c1,c4)); + +# Inserting data into table t1 + +# Trailing zeroes are not stripped, D=5 +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); + +# DECIMAL := DECIMAL(10,0); Decimal values in c3 will be stripped; +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); + +# c1, c2, c3 will be rounded automatically +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); + +# Inserting maximum values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); + +# Test insert leading zero, +/- signs, overflow handling +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); + +# Inserting in scientific notations +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +#INSERT INTO t1 VALUES('0.9999999999e+4','-.999999999e+4,'0.9999999999e+10',11); + +--sorted_result +SELECT * FROM t1; + +# Deletion starts here + +# Delete by order by limit +DELETE FROM t1 WHERE c2 > 100 ORDER BY c2 LIMIT 1; +--sorted_result +SELECT c1,c2 FROM t1; + +# Delete using range values +DELETE FROM t1 WHERE c3=1 AND c4=7; +--sorted_result +SELECT * FROM t1; +DELETE FROM t1 WHERE c3=9999999999 OR c2=1.0e-5; +--sorted_result +SELECT * FROM t1 WHERE c1=1.2e+2; +DELETE FROM t1 WHERE c4 IN (4,5,6); +--sorted_result +SELECT * FROM t1; + +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t1; + +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +DELETE FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +--sorted_result +SELECT * FROM t1; + +# Multi table delete +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888'; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; + +# Delete using various access methods +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); + +# Delete using Const +# EXPLAIN SELECT * FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +DELETE FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +--sorted_result +SELECT * FROM t2; + +# Delete using range +# EXPLAIN SELECT * FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +DELETE FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +--sorted_result +SELECT * FROM t2; +# EXPLAIN SELECT * FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +DELETE FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +--sorted_result +SELECT * FROM t2; + +# Delete using eq_ref +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +DELETE t2,t3 FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Droping the tables +--disable_warnings +DROP TABLES IF EXISTS t1,t2,t3,t4; +--enable_warnings + diff --git a/mysql-test/suite/engines/iuds/t/delete_time.test b/mysql-test/suite/engines/iuds/t/delete_time.test new file mode 100644 index 00000000..113502a4 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/delete_time.test @@ -0,0 +1,122 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings +# Create tables +CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIME NOT NULL, c2 TIME NULL, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIME NOT NULL, c2 TIME NULL); + +# As a string in 'D HH:MM:SS.fraction' format + +INSERT INTO t1 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t2 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t3 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t4 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); + +#As a string with no delimiters in 'HHMMSS' format + +INSERT INTO t1 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t2 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t3 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t4 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); + +#As a number in HHMMSS format + +INSERT INTO t1 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t2 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t3 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t4 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); + +#As the result of a function that returns a value that is acceptable in a TIME context +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT INTO t1 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t2 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t3 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t4 VALUES(CURRENT_TIME(),CURRENT_TIME()); +#Insert permissible NULLs +INSERT INTO t1 VALUES('123456',null); +#INSERT INTO t2 VALUES('123456',null); +INSERT INTO t3 VALUES('123456',null); +INSERT INTO t4 VALUES('123456',null); +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +#Deleting the table rows +--sorted_result +SELECT c1 FROM t1 WHERE c1='00:00:07'; +DELETE FROM t1 WHERE c1='00:00:07'; +--sorted_result +SELECT c1 FROM t1; +--sorted_result +SELECT c1 FROM t2 WHERE c1='-838:59:59' AND c2='-838:59:59'; +DELETE FROM t2 WHERE c1='-838:59:59' AND c2='-838:59:59'; +--sorted_result +SELECT c1 FROM t2; + +#Deleting rowa with NULL attributes +--sorted_result +SELECT c2 FROM t3 WHERE c2=null; +DELETE FROM t3 WHERE c2=null; +--sorted_result +SELECT c2 FROM t3; + +#Delete by order by limit +--sorted_result +SELECT c1 FROM t4 WHERE c1 < '000009'; +DELETE FROM t4 WHERE c1 < '000009' ORDER BY c1 LIMIT 3; +--sorted_result +SELECT c1 FROM t4; + +#Delete by range values +DELETE FROM t1 WHERE c1='00:00:09' AND c1='01:01:01'; +--sorted_result +SELECT c2 FROM t1; +DELETE FROM t2 WHERE c2=000400 OR c2= 000900; +--sorted_result +SELECT c1 FROM t2; +DELETE FROM t2 WHERE c1 IN ('100:04:04',005454,'2:2:2',111111) ORDER BY c1 LIMIT 2; +--sorted_result +SELECT c2 FROM t2; + +#Multi table delete +DELETE t1,t2,t3,t4 FROM t1,t2,t3,t4 WHERE t1.c1='00:13:13' AND t2.c1=080808 AND t4.c1='00:04:00' AND t3.c2=020202; + +#Delete using various access methods + +# Delete using Const +# EXPLAIN SELECT * FROM t1 WHERE c1='00:09:09' AND c2='00:09:09'; +DELETE FROM t1 WHERE c1='00:09:09' AND c2='00:09:09'; +--sorted_result +SELECT * FROM t1; + +# Delete using range +# EXPLAIN SELECT * FROM t1 WHERE c1 BETWEEN 080000 AND 100000; +DELETE FROM t1 WHERE c1 BETWEEN 080000 AND 100000; +--sorted_result +SELECT * FROM t1; +# EXPLAIN SELECT * FROM t1 WHERE c1 IN (222222,8385959,1500000); +DELETE FROM t1 WHERE c1 IN (222222,8385959,1500000); +--sorted_result +SELECT * FROM t1; + +# Delete using eq_ref +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +DELETE t1,t2 FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +#Drop tables; +DROP TABLE IF EXISTS t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/delete_year.test b/mysql-test/suite/engines/iuds/t/delete_year.test new file mode 100644 index 00000000..2cbe11ab --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/delete_year.test @@ -0,0 +1,110 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings +# Create tables +CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t3(c1 YEAR(2) NOT NULL,c2 YEAR(2), PRIMARY KEY(c1)); +CREATE TABLE t4(c1 YEAR(2), c2 YEAR(2), UNIQUE INDEX idx(c1,c2)); +#Insert as 4-digit number format in the range '1901' to '2155' +INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t4 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +#Insert as 4-digit string format in the range '1901' to '2155' +INSERT INTO t1 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t2 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t3 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t4 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +#Insert as 2-digit number format +INSERT INTO t1 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t2 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t3 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t4 VALUES (04,04),(64,64),(69,69),(97,97); +#Insert as 2-digit string format +INSERT INTO t1 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t2 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t3 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t4 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +#Insert permissible NULLs +INSERT INTO t1 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t2 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t3 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t4 VALUES ('09',null),('61',null),('79',null),('96',null); +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +#Deleting the specified rows +--sorted_result +SELECT c1 FROM t1 WHERE c1='2005'; +DELETE FROM t1 WHERE c1='2005'; +--sorted_result +SELECT c1 FROM t1; + +# Delete rows with null attributes +--sorted_result +SELECT c2 FROM t2 WHERE c2=null; +DELETE FROM t2 WHERE c2=null LIMIT 2; +--sorted_result +SELECT c2 FROM t2; + +#Delete order by limit +--sorted_result +SELECT c1 FROM t4 WHERE c1 < '55'; +DELETE FROM t4 WHERE c1 < '65' ORDER BY c1 LIMIT 5; +--sorted_result +SELECT c1 FROM t4; + +#Delete by range values +DELETE FROM t2 WHERE c1=2009 AND c2=null; +--sorted_result +SELECT c2 FROM t2; +DELETE FROM t1 WHERE c1=1979 OR c1=2154; +--sorted_result +SELECT c2 FROM t1; +DELETE FROM t4 WHERE c2 IN (01,54,65,69,null) LIMIT 2; +--sorted_result +SELECT c1 FROM t4; + +#Multi table delete +DELETE t3,t4 FROM t3,t4 WHERE t3.c1=61 AND t4.c2=4; + +# Delete using various access methods + +# Delete using Const +# EXPLAIN SELECT * FROM t1 WHERE c1=2064 AND c2=2064; +DELETE FROM t1 WHERE c1=2064 AND c2=2064; +--sorted_result +SELECT * FROM t1; + +# Delete using range +# EXPLAIN SELECT * FROM t1 WHERE c1 BETWEEN 2000 AND 2010; +DELETE FROM t1 WHERE c1 BETWEEN 2000 AND 2010 LIMIT 2; +--sorted_result +SELECT * FROM t1; +# EXPLAIN SELECT * FROM t1 WHERE c1 IN (2155,2009,1975); +DELETE FROM t1 WHERE c1 IN (2155,2009,1975) LIMIT 2; +--sorted_result +SELECT * FROM t1; + +# Delete using eq_ref +# EXPLAIN SELECT * FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; +DELETE t1,t2 FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +#Drop tables +DROP TABLE IF EXISTS t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/hindi.txt b/mysql-test/suite/engines/iuds/t/hindi.txt new file mode 100644 index 00000000..190ffdcc --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/hindi.txt @@ -0,0 +1,50 @@ +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. +यह हिनà¥à¤¦à¥€ में à¤à¤• वाकà¥à¤¯ है. diff --git a/mysql-test/suite/engines/iuds/t/insert_calendar.test b/mysql-test/suite/engines/iuds/t/insert_calendar.test new file mode 100644 index 00000000..5d8380a1 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/insert_calendar.test @@ -0,0 +1,5983 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3; +--enable_warnings + +######## Running INSERT tests for DATE ######## + +# Create tables +CREATE TABLE t1(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP); + +# Insert some rows with targeted values + +# As a string in either 'YYYY-MM-DD HH:MM:SS', 'YY-MM-DD HH:MM:SS', 'YYYY-MM-DD' or 'YY-MM-DD' format +INSERT INTO t1 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t2 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t3 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t4 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); + +# As a string with no delimiters in either 'YYYYMMDDHHMMSS', 'YYMMDDHHMMSS', 'YYYYMMDD' or 'YYMMDD' format +INSERT INTO t1 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t2 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t3 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t4 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); + +# As a number in either YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD or YYMMDD format +INSERT INTO t1 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t2 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t3 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t4 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); + +# As the result of a function +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); + +# Insert duplicates for parts of the clustered key/unique index +INSERT INTO t2 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +INSERT INTO t3 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); + +# Insert permissible NULLs +INSERT INTO t1 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); + +# Insert duplicate NULLs to unique column +INSERT INTO t1(c1,c2) VALUES('08/01/17',NULL); +DELETE FROM t1 WHERE c1='08/01/17' AND c2 IS NULL; + +# Insert empty string '', would be converted to zero value of the appropriate type +INSERT INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; + +# Insert invalid dates, would be converted to zero value of the appropriate type +INSERT INTO t2 VALUES('2008-04-31','2008-04-31','08-01-06','08/01/07') /* Inserts zero dates for invalid dates */; +INSERT INTO t3 VALUES('10:45:15','10:45:15','08-01-08','08/1/9') /* Inserts zero dates for invalid dates */; + +# Insert zero dates +INSERT INTO t2 VALUES('0000-00-00','08-01-06','08-01-06','08/01/07'); +INSERT INTO t3 VALUES('08-01-06','00-00-00','08-01-08','08/1/9'); + +# Insert non-date value(absurd values), would be converted to zero value of the appropriate type +INSERT INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +# Select from table with single column primary key and single column index, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2007-05-26 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Select from table with clustered primary key, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2008-01-06'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Select from table with clustered index, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Test Error conditions- PK constraint violation, Unique constraint violation + +# Insert duplicate value to pk column +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('20070525','070523091528') /* Row with c1='20070525' exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES(19840905,830907) /* Row with c2=830907 exists */; + +# Insert duplicate value to clustered unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t3(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; + +# Test 'INSERT IGNORE' with the same rows that reported constraint violation above +# Ignore pk constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('20070525','20070527') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +# Ignore unique constraint +INSERT IGNORE INTO t1(c1,c2) VALUES(19840905,830907) /* doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +# Test that the rows are same +SELECT * FROM t1 WHERE c1='20070525' /* Returns 1 row with c1=2007-05-25 */; +SELECT * FROM t2 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +SELECT * FROM t1 WHERE c2=830907 /* Returns 1 row with c2=1983-09-07 */; +SELECT * FROM t3 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with single column PK +SELECT * FROM t1 WHERE c1='20070527' /* Returns no rows */; +INSERT INTO t1(c1) VALUES('20070525') ON DUPLICATE KEY UPDATE c1='20070527'; +SELECT * FROM t1 WHERE c1='20070527' /* Returns 1 row with c1=2007-05-27 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with multi-column PK +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t2(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns 1 row with c1=19830909,c2=830910 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with single column unique +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t1(c1,c2) VALUES(19840905,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with multi-column unique +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t3(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; + +# Test 'INSERT SET' +INSERT INTO t1 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t2 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t3 SET c1='1999-01-01'; +INSERT INTO t4 SET c2='1999-01-01'; +SELECT * FROM t1 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t2 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t3 WHERE c1='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t4 WHERE c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t5(c1 DATE NOT NULL, c2 DATE NULL, c3 DATETIME, c4 TIMESTAMP, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1 WHERE c1 >=0 AND c1 < '20070523091528'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >='98-12-31 11:30:45' AND c1 < '20070523091528' AND c2 <> '070525'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN 0 AND '1998-12-30 11:30:45'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +DROP TABLE t5; + +# Test Specific values to column types + +# Test insert values across range to 'DATE' columns +INSERT INTO t1 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t2 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t3 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); +INSERT INTO t4 VALUES('1000-01-01','2000-01-01','2009-01-01','2009-01-02'),('3000-01-01','4000-01-01','2009-01-03','2009-01-04'),('5000-01-01','6000-01-01','2009-01-05','2009-01-06'),('7000-01-01','8000-01-01','2009-01-07','2009-01-08'),('9000-01-01','9000-01-01','2009-01-09','2009-01-10'),('9999-12-31','9999-12-31','2009-01-11','2009-01-12'); + +# Insert valid dates containing a zero for the month or for the day +INSERT INTO t1(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t2(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t3(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t4(c1,c2) VALUES('2010-00-01','2010-10-00'); + +# Insert invalid dates, inserts zero values +INSERT INTO t4(c1) VALUES('2009-02-30'),('2009-04-31'),('2009-06-31'),('2009-09-31'),('2009-11-31'),('2009-13-01'),('2009-12-32'); + +# Test insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t1(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,'2008-01-14','08-01-15','08/01/16'); +--error ER_BAD_NULL_ERROR +INSERT INTO t4 VALUES(NULL,'2008-01-14','08-01-15','08/01/16'); + +# Test INSERT SET with no default for not null column +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t4 SET c2='1999-01-01' /* NOT NULL column will not get the default value */; +SET SQL_MODE=''; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '1000-00-01' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-26 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '1998-12-28 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '2010-00-01' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '9999-12-31' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2008-01-05'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '2010-10-00' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Using Index-merge +--sorted_result +SELECT * FROM t1 WHERE c1='1000-00-01' OR c2='9999-12-31'; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t1 GROUP BY c2; + +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2007-05-26 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-28 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2008-01-07'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1000-00-01' AND c1 < '9999-12-31' AND c2 = '1000-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-26 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-28 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01' AND c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','9999-12-31') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '9999-12-31' AND c1 = '9999-12-31' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2008-01-09'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01' AND '2010-10-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01','2010-10-00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1000-00-01' AND c2 < '2010-10-00' AND c1 = '2010-00-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t3 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t3; +--sorted_result +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +DROP TABLE t1,t2,t3,t4; + +######## Running INSERT tests for DATETIME ######## + +# Create tables +CREATE TABLE t1(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP); + +# Insert some rows with targeted values + +# As a string in either 'YYYY-MM-DD HH:MM:SS', 'YY-MM-DD HH:MM:SS', 'YYYY-MM-DD' or 'YY-MM-DD' format +INSERT INTO t1 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t2 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t3 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t4 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); + +# As a string with no delimiters in either 'YYYYMMDDHHMMSS', 'YYMMDDHHMMSS', 'YYYYMMDD' or 'YYMMDD' format +INSERT INTO t1 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t2 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t3 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t4 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); + +# As a number in either YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD or YYMMDD format +INSERT INTO t1 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t2 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t3 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t4 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); + +# As the result of a function +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); + +# Insert duplicates for parts of the clustered key/unique index +INSERT INTO t2 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +INSERT INTO t3 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); + +# Insert permissible NULLs +INSERT INTO t1 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); + +# Insert duplicate NULLs to unique column +INSERT INTO t1(c1,c2) VALUES('08/01/17',NULL); +DELETE FROM t1 WHERE c1='08/01/17' AND c2 IS NULL; + +# Insert empty string '', would be converted to zero value of the appropriate type +INSERT INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; + +# Insert invalid dates, would be converted to zero value of the appropriate type +INSERT INTO t2 VALUES('2008-04-31','2008-04-31','08-01-06','08/01/07') /* Inserts zero dates for invalid dates */; +INSERT INTO t3 VALUES('10:45:15','10:45:15','08-01-08','08/1/9') /* Inserts zero dates for invalid dates */; + +# Insert zero dates +INSERT INTO t2 VALUES('0000-00-00','08-01-06','08-01-06','08/01/07'); +INSERT INTO t3 VALUES('08-01-06','00-00-00','08-01-08','08/1/9'); + +# Insert non-date value(absurd values), would be converted to zero value of the appropriate type +INSERT INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +# Select from table with single column primary key and single column index, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2007-05-26 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Select from table with clustered primary key, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2008-01-06'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Select from table with clustered index, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Test Error conditions- PK constraint violation, Unique constraint violation + +# Insert duplicate value to pk column +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('20070525','070523091528') /* Row with c1='20070525' exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES(19840905,830907) /* Row with c2=830907 exists */; + +# Insert duplicate value to clustered unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t3(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; + +# Test 'INSERT IGNORE' with the same rows that reported constraint violation above +# Ignore pk constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('20070525','20070527') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +# Ignore unique constraint +INSERT IGNORE INTO t1(c1,c2) VALUES(19840905,830907) /* doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +# Test that the rows are same +SELECT * FROM t1 WHERE c1='20070525' /* Returns 1 row with c1=2007-05-25 */; +SELECT * FROM t2 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +SELECT * FROM t1 WHERE c2=830907 /* Returns 1 row with c2=1983-09-07 */; +SELECT * FROM t3 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with single column PK +SELECT * FROM t1 WHERE c1='20070527' /* Returns no rows */; +INSERT INTO t1(c1) VALUES('20070525') ON DUPLICATE KEY UPDATE c1='20070527'; +SELECT * FROM t1 WHERE c1='20070527' /* Returns 1 row with c1=2007-05-27 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with multi-column PK +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t2(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns 1 row with c1=19830909,c2=830910 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with single column unique +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t1(c1,c2) VALUES(19840905,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with multi-column unique +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t3(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; + +# Test 'INSERT SET' +INSERT INTO t1 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t2 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t3 SET c1='1999-01-01'; +INSERT INTO t4 SET c2='1999-01-01'; +SELECT * FROM t1 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t2 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t3 WHERE c1='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t4 WHERE c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t5(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATE, c4 TIMESTAMP, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1 WHERE c1 >=0 AND c1 < '20070523091528'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >='98-12-31 11:30:45' AND c1 < '20070523091528' AND c2 <> '070525'; +#Following query produces different results +#for differenct engine/platform +--disable_result_log +--sorted_result +SELECT * FROM t5; +--enable_result_log +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN 0 AND '1998-12-30 11:30:45'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +DROP TABLE t5; + +# Test Specific values to column types + +# Test insert range values to 'DATETIME' columns +INSERT INTO t1 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t2 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t3 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); +INSERT INTO t4 VALUES('1000-01-01 00:00:00','2000-01-01 00:00:00','2009-01-01','2009-01-02'),('3000-01-01 00:00:00','4000-01-01 00:00:00','2009-01-03','2009-01-04'),('5000-01-01 00:00:00','6000-01-01 00:00:00','2009-01-05','2009-01-06'),('7000-01-01 00:00:00','8000-01-01 00:00:00','2009-01-07','2009-01-08'),('9000-01-01 00:00:00','9000-01-01 00:00:00','2009-01-09','2009-01-10'),('9999-12-31 23:59:59','9999-12-31 23:59:59','2009-01-11','2009-01-12'); + +# Insert valid dates containing a zero for the month or for the day +INSERT INTO t1(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t2(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t3(c1,c2) VALUES('2010-00-01','2010-10-00'); +INSERT INTO t4(c1,c2) VALUES('2010-00-01','2010-10-00'); + +# Insert invalid dates, inserts zero values +INSERT INTO t4(c1) VALUES('2009-02-30'),('2009-04-31'),('2009-06-31'),('2009-09-31'),('2009-11-31'),('2009-13-01'),('2009-12-32'),('2009-01-01 23:60:60'),('2009-01-01 24:59:59'),('2009-01-01 23:59:60'); + +# Test insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t1(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); +--error ER_BAD_NULL_ERROR +INSERT INTO t4 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); + +# Test INSERT SET with no default for not null column +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t4 SET c2='1999-01-01' /* NOT NULL column will not get the default value */; +SET SQL_MODE=''; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '1998-12-28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2008-01-05'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Using Index-merge +--sorted_result +SELECT * FROM t1 WHERE c1='1000-00-01 00:00:00' OR c2='9999-12-31 23:59:59'; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t1 GROUP BY c2; + +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2008-01-07'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1000-00-01 00:00:00' AND c1 < '9999-12-31 23:59:59' AND c2 = '1000-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '9999-12-31 23:59:59' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','9999-12-31 23:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '9999-12-31 23:59:59' AND c1 = '9999-12-31 23:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2008-01-09'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '1000-00-01 00:00:00' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('1000-00-01 00:00:00','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1000-00-01 00:00:00' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t3 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t3; +--sorted_result +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +DROP TABLE t1,t2,t3,t4; + +######## Running INSERT tests for TIMESTAMP ######## + +# Create tables +CREATE TABLE t1(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME); + +# Insert some rows with targeted values + +# As a string in either 'YYYY-MM-DD HH:MM:SS', 'YY-MM-DD HH:MM:SS', 'YYYY-MM-DD' or 'YY-MM-DD' format +INSERT INTO t1 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t2 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t3 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); +INSERT INTO t4 VALUES('98-12-31 11:30:45','98.12.31 11+30+45','98-12-31 11:30:45','98.12.31 11+30+45'),('98/12/30 11*30*45','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'),('98-12-29','98.12.29','98-12-29','98.12.29'),('98/12/28','98@12@28','98/12/28','98@12@28'); + +# As a string with no delimiters in either 'YYYYMMDDHHMMSS', 'YYMMDDHHMMSS', 'YYYYMMDD' or 'YYMMDD' format +INSERT INTO t1 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t2 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t3 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); +INSERT INTO t4 VALUES('20070523091528','070523091528','20070524091528','070524091528'),('20070525','070525','20070526','070526'); + +# As a number in either YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD or YYMMDD format +INSERT INTO t1 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t2 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t3 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); +INSERT INTO t4 VALUES(19830905132800,830905132800,19830906132800,830906132800),(19830907,830907,19830908,830908); + +# As the result of a function +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); + +# Insert duplicates for parts of the clustered key/unique index +INSERT INTO t2 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); +INSERT INTO t3 VALUES('98-12-31 11:30:45','98@12@30 11^30^45','98-12-31 11:30:45','98.12.31 11+30+45'),('98-12-29','98@12@30 11^30^45','98/12/30 11*30*45','98@12@30 11^30^45'); + +# Insert permissible NULLs +INSERT INTO t1 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES('2008-01-01',NULL,'08-01-02','08/01/03'); + +# Insert duplicate NULLs to unique column +INSERT INTO t1(c1,c2) VALUES('08/01/17',NULL); +DELETE FROM t1 WHERE c1='08/01/17' AND c2 IS NULL; + +# Insert empty string '', would be converted to zero value of the appropriate type +INSERT INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; + +# Insert invalid dates, would be converted to zero value of the appropriate type +INSERT INTO t2 VALUES('2008-04-31','2008-04-31','08-01-06','08/01/07') /* Inserts zero dates for invalid dates */; +INSERT INTO t3 VALUES('10:45:15','10:45:15','08-01-08','08/1/9') /* Inserts zero dates for invalid dates */; + +# Insert zero dates +INSERT INTO t2 VALUES('0000-00-00','08-01-06','08-01-06','08/01/07'); +INSERT INTO t3 VALUES('08-01-06','00-00-00','08-01-08','08/1/9'); + +# Insert non-date value(absurd values), would be converted to zero value of the appropriate type +INSERT INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +# Select from table with single column primary key and single column index, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '1998-12-29 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','1998-12-29 00:00:00') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '1998-12-29 00:00:00' AND c2 = '1983-09-07 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '0000-00-00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-31 11:30:45' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2007-05-26 00:00:00'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '1998-12-30 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-31 11:30:45' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-31 11:30:45') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-31 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Select from table with clustered primary key, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2008-01-06'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1983-09-07 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1983-09-07 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1983-09-07 00:00:00' AND c1 < '2007-05-23 09:15:28' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '1983-09-05 13:28:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '2007-05-23 09:15:28' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('0000-00-00 00:00:00','2007-05-23 09:15:28') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '2007-05-23 09:15:28' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Select from table with clustered index, with column values zero, NULL +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1998-12-31 11:30:45' AND '2008-01-06 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1998-12-31 11:30:45','2008-01-06 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1998-12-31 11:30:45' AND c1 < '2008-01-06 00:00:00' AND c2 = '1998-12-28 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2009-01-29' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2009-01-29') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2009-01-29' AND c2 = '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2007-05-24 09:15:28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '1998-12-29 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '0000-00-00 00:00:00' AND '1998-12-30 11:30:45' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('0000-00-00 00:00:00','1998-12-30 11:30:45') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '0000-00-00 00:00:00' AND c2 < '1998-12-30 11:30:45' AND c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Test Error conditions- PK constraint violation, Unique constraint violation + +# Insert duplicate value to pk column +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('20070525','070523091528') /* Row with c1='20070525' exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES(19840905,830907) /* Row with c2=830907 exists */; + +# Insert duplicate value to clustered unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t3(c1,c2) VALUES(19830907,830907) /* Row with c1=19830907,c2=830907 exists */; + +# Test 'INSERT IGNORE' with the same rows that reported constraint violation above +# Ignore pk constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('20070525','20070527') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +# Ignore unique constraint +INSERT IGNORE INTO t1(c1,c2) VALUES(19840905,830907) /* doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES(19830907,830907) /* doesn't throw error */; +# Test that the rows are same +SELECT * FROM t1 WHERE c1='20070525' /* Returns 1 row with c1=2007-05-25 */; +SELECT * FROM t2 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; +SELECT * FROM t1 WHERE c2=830907 /* Returns 1 row with c2=1983-09-07 */; +SELECT * FROM t3 WHERE c1=19830907 AND c2=830907 /* Returns 1 row with c1=1983-09-07 and c2=1983-09-07 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with single column PK +SELECT * FROM t1 WHERE c1='20070527' /* Returns no rows */; +INSERT INTO t1(c1) VALUES('20070525') ON DUPLICATE KEY UPDATE c1='20070527'; +SELECT * FROM t1 WHERE c1='20070527' /* Returns 1 row with c1=2007-05-27 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with multi-column PK +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t2(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t2 WHERE c1=19830909 AND c2=830910 /* Returns 1 row with c1=19830909,c2=830910 */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with single column unique +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t1(c1,c2) VALUES(19840905,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t1 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with multi-column unique +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns no rows */; +INSERT INTO t3(c1,c2) VALUES(19830907,830907) ON DUPLICATE KEY UPDATE c1=19830909,c2=830910; +SELECT * FROM t3 WHERE c1=19830909 AND c2=830910 /* Returns 1 row */; + +# Test 'INSERT SET' +INSERT INTO t1 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t2 SET c1='1999-01-01',c2='1999-01-01'; +INSERT INTO t3 SET c1='1999-01-01'; +INSERT INTO t4 SET c2='1999-01-01'; +SELECT * FROM t1 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t2 WHERE c1='1999-01-01' AND c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t3 WHERE c1='1999-01-01' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t4 WHERE c2='1999-01-01' /* Returns 1 row with values for other column as NULL */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t5(c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NULL, c3 DATE, c4 DATETIME, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1 WHERE c1 >=0 AND c1 < '20070523091528'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >='98-12-31 11:30:45' AND c1 < '20070523091528' AND c2 <> '070525'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN 0 AND '1998-12-30 11:30:45'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +DROP TABLE t5; + +# Test Specific values to column types + +# Test insert range values to 'TIMESTAMP' columns +INSERT INTO t1 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t2 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t3 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); +INSERT INTO t4 VALUES('1971-01-01 00:00:01','1980-01-01 00:00:01','2009-01-01','2009-01-02'),('1990-01-01 00:00:01','2000-01-01 00:00:01','2009-01-03','2009-01-04'),('2038-01-09 03:14:07','2038-01-09 03:14:07','2009-01-05','2009-01-06'); + +# Insert dates containing a zero for the month or for the day, convert to zero +INSERT INTO t4(c1,c2) VALUES('2010-00-01','2010-10-00'); + +# Insert invalid dates, inserts zero values +INSERT INTO t4(c1) VALUES('2009-02-30'),('2009-04-31'),('2009-06-31'),('2009-09-31'),('2009-11-31'),('2009-13-01'),('2009-12-32'),('2009-01-01 23:60:60'),('2009-01-01 24:59:59'),('2009-01-01 23:59:60'); + +# Test insert NULL to non-null column +# Inserting NULL to TIMESTAMP NOT NULL field doesn't throw error, but records the current/set timestamp + +DELETE FROM t1 WHERE c1=NOW() /* because the row with current timestamp exists */; +INSERT INTO t1 VALUES(NULL,NOW(),NOW(),NOW()); +SELECT * FROM t1 WHERE c1 IS NULL /* returns no rows */; +SELECT * FROM t1 WHERE c1=NOW() /* returns 1 row */; +INSERT INTO t2(c1) VALUES(NULL); +INSERT INTO t3 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); +INSERT INTO t4 VALUES(NULL,'2008-01-14 00:00:00','08-01-15','08/01/16'); + +# Test INSERT SET with no default for not null column +SET SQL_MODE=STRICT_ALL_TABLES; +INSERT INTO t4 SET c2='1999-01-01' /* NOT NULL column will get the default value as current timestamp */; +SET SQL_MODE=''; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '1998-12-28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c4 = '2008-01-05'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Using Index-merge +--sorted_result +SELECT * FROM t1 WHERE c1='1971-01-01 00:00:01' OR c2='2038-01-09 03:14:07'; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t1 GROUP BY c2; + +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c4 = '2008-01-07'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-24'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1971-01-01 00:00:01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1971-01-01 00:00:01' AND c1 < '2038-01-09 03:14:07' AND c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2007-05-26'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '0000-00-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00 00:00:00' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00 00:00:00','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00 00:00:00' AND c1 < '2038-01-09 03:14:07' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-28'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '0000-00-00' AND '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('0000-00-00','2010-00-01 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '0000-00-00' AND c1 < '2010-00-01 00:00:00' AND c2 = '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2009-01-29'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2038-01-09 03:14:07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2038-01-09 03:14:07' AND c1 = '2038-01-09 03:14:07' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c4 = '2008-01-09'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '2010-10-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '1971-01-01 00:00:01' AND '2010-10-00 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('1971-01-01 00:00:01','2010-10-00 00:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '1971-01-01 00:00:01' AND c2 < '2010-10-00 00:00:00' AND c1 = '2010-00-01 00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t3 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t3; +--sorted_result +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; +DROP TABLE t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/insert_decimal.test b/mysql-test/suite/engines/iuds/t/insert_decimal.test new file mode 100644 index 00000000..c75fa195 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/insert_decimal.test @@ -0,0 +1,976 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2; +--enable_warnings + +######## Running INSERT tests for DECIMAL ######## + +# Create tables +CREATE TABLE t1(c1 DECIMAL(10,5) UNSIGNED NOT NULL, c2 DECIMAL(10,5) SIGNED NULL, c3 DECIMAL, c4 INT, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t2(c1 DECIMAL(10,0) SIGNED NOT NULL, c2 DECIMAL(10) UNSIGNED NULL, c3 DECIMAL, c4 INT); + +# Test insert values, trailing zeroes are not stripped +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100.05000',1); +INSERT INTO t2 VALUES('-1000000000','1000000000','1000000000',2); + +# Test no approximation +INSERT INTO t1(c1) VALUES('12345.000009'); + +# Test insert max values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','99999.99999',3); +INSERT IGNORE INTO t2 VALUES('-9999999999','-9999999999','9999999999',4); + +# Test insert outside max value, would be clipped to closest endpoint +--sorted_result +SELECT * FROM t1; +--error ER_DUP_ENTRY +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +DELETE FROM t1 WHERE c1='99999.99999' AND c2='-99999.99999'; +--sorted_result +SELECT * FROM t1; +INSERT IGNORE INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +INSERT IGNORE INTO t2 VALUES('10000000000','-10000000000','10000000000',6); + +# Test insert leading zero, +/- signs, overflow handling +insert into t1 values ("0.0","0.0","0.0",7),("01.0","01.0","01.0",10); +insert ignore into t1 values ("-.1","-.1","-.1",13); +insert ignore into t1 values ("+111111111.11","+111111111.11","+111111111.11",19); +insert ignore into t2 values ("0.0","0.0","0.0",7),("-0.0","-0.0","-0.0",8),("+0.0","+0.0","+0.0",9),("01.0","01.0","01.0",10),("+01.0","+01.0","+01.0",11),("-01.0","-01.0","-01.0",12); +insert ignore into t2 values ("-.1","-.1","-.1",13),("+.1","+.1","+.1",14),(".1",".1",".1",15); +insert ignore into t2 values ("00000000000001","00000000000001","00000000000001",16),("+0000000000001","+0000000000001","+0000000000001",17),("-0000000000001","-0000000000001","-0000000000001",18); +insert ignore into t2 values ("+111111111.11","+111111111.11","+111111111.11",19),("111111111.11","111111111.11","111111111.11",20),("-11111111.11","-11111111.11","-11111111.11",21); +insert ignore into t2 values ("-111111111.11","-111111111.11","-111111111.11",22),("+1111111111.11","+1111111111.11","+1111111111.11",23),("1111111111.11","1111111111.11","1111111111.11",24); +insert ignore into t2 values ("1e+1000","1e+1000","1e+1000",25),("1e-1000","1e-1000","1e-1000",26),("-1e+1000","-1e+1000","-1e+1000",27); +insert ignore into t2 values ("1e+4294967296","1e+4294967296","1e+4294967296",28),("1e-4294967296","1e-4294967296","1e-4294967296",29); +insert ignore into t2 values ("1e+18446744073709551615","1e+18446744073709551615","1e+18446744073709551615",30),("1e+18446744073709551616","1e+18446744073709551616","1e+18446744073709551616",31),("1e-9223372036854775807","1e-9223372036854775807","1e-9223372036854775807",32),("1e-9223372036854775809","1e-9223372036854775809","1e-9223372036854775809",33); + +# Now Select +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t2; + +# Select using various access methods +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '-0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '-0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t1 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t1; +--sorted_result +SELECT c1,MIN(c2) FROM t1 GROUP BY c1; + +# Test extremes +CREATE TABLE t5(c1 DECIMAL(65,0) UNSIGNED NOT NULL, c2 DECIMAL(65,0) SIGNED NULL, c3 DECIMAL, c4 INT, INDEX idx(c1,c2)); +INSERT IGNORE INTO t5 VALUES('1e+64','-1e+64','1e+64',1),('1e-64','-1e-64','1e-64',2); +INSERT IGNORE INTO t5 VALUES('1.2e+65','-1.2e+65','1.2e+65',3),('1.2e-65','-1.2e-65','1.2e-65',4); +--sorted_result +SELECT * FROM t5; +DROP TABLE t5; + +# Test encoding to various bytes +CREATE TABLE t5(c1 DECIMAL(18,9) UNSIGNED, c2 DECIMAL(18,9) SIGNED) /* requires 8 bytes */; +INSERT INTO t5 VALUES(123456789.123456789,-123456789.123456789); +--sorted_result +SELECT c1,c2 FROM t5; +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(19,9) UNSIGNED, CHANGE c2 c2 DECIMAL(19,9) SIGNED /* requires 9 bytes */; +INSERT INTO t5 VALUES(1234567891.123456789,-1234567891.123456789); +--sorted_result +SELECT c1,c2 FROM t5; +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(21,10) UNSIGNED, CHANGE c2 c2 DECIMAL(21,10) SIGNED /* requires 10 bytes */; +INSERT INTO t5 VALUES(12345678912.1234567891,-12345678912.1234567891); +--sorted_result +SELECT c1,c2 FROM t5; +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(23,11) UNSIGNED, CHANGE c2 c2 DECIMAL(23,11) SIGNED /* requires 11 bytes */; +INSERT INTO t5 VALUES(123456789123.12345678912,-123456789123.12345678912); +--sorted_result +SELECT c1,c2 FROM t5; +ALTER TABLE t5 CHANGE c1 c1 DECIMAL(25,12) UNSIGNED, CHANGE c2 c2 DECIMAL(25,12) SIGNED /* requires 12 bytes */; +INSERT INTO t5 VALUES(1234567891234.123456789123,-1234567891234.123456789123); +--sorted_result +SELECT c1,c2 FROM t5; +SELECT SUM(c1),SUM(c2) FROM t5; +DROP TABLE t5; + +# Test ROUND() and TRUNCATE() +CREATE TABLE t5(c1 DECIMAL(16,6), c2 tinyint); +INSERT INTO t5 VALUES(1.1325,3); +SELECT ROUND(c1,c2),TRUNCATE(c1,c2) FROM t5; +DROP TABLE t5; + +# Test wrong decimal types +--error ER_TOO_BIG_PRECISION +CREATE TABLE t7(c1 DECIMAL(66,0)); +--error ER_M_BIGGER_THAN_D +CREATE TABLE t7(c1 DECIMAL(5,10)); +DROP TABLE t1,t2; + +######## Running INSERT tests for FLOAT ######## + +# Create tables +CREATE TABLE t1(c1 FLOAT(10,5) UNSIGNED NOT NULL, c2 FLOAT(10,5) SIGNED NULL, c3 FLOAT, c4 INT, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t2(c1 FLOAT(10,0) SIGNED NOT NULL, c2 FLOAT(10,0) UNSIGNED NULL, c3 FLOAT, c4 INT); + +# Test insert values, trailing zeroes are not stripped +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100.05000',1); +INSERT INTO t2 VALUES('-1000000000','1000000000','1000000000',2); + +# Test approximation +INSERT INTO t1(c1) VALUES('12345.000009'); + +# Test insert max values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','99999.99999',3); +INSERT IGNORE INTO t2 VALUES('-9999999999','-9999999999','9999999999',4); + +# Test insert outside max value, would be clipped to closest endpoint +SELECT * FROM t1; +--error ER_DUP_ENTRY +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +DELETE FROM t1 WHERE c1='100000.00000' AND c2='-100000.00000'; +INSERT IGNORE INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +INSERT IGNORE INTO t2 VALUES('10000000000','-10000000000','10000000000',6); + +# Test insert leading zero, +/- signs, overflow handling +insert into t1 values ("0.0","0.0","0.0",7),("01.0","01.0","01.0",10); +insert ignore into t1 values ("-.1","-.1","-.1",13); +insert ignore into t1 values ("+111111111.11","+111111111.11","+111111111.11",19); +insert ignore into t2 values ("0.0","0.0","0.0",7),("-0.0","-0.0","-0.0",8),("+0.0","+0.0","+0.0",9),("01.0","01.0","01.0",10),("+01.0","+01.0","+01.0",11),("-01.0","-01.0","-01.0",12); +insert ignore into t2 values ("-.1","-.1","-.1",13),("+.1","+.1","+.1",14),(".1",".1",".1",15); +insert ignore into t2 values ("00000000000001","00000000000001","00000000000001",16),("+0000000000001","+0000000000001","+0000000000001",17),("-0000000000001","-0000000000001","-0000000000001",18); +insert ignore into t2 values ("+111111111.11","+111111111.11","+111111111.11",19),("111111111.11","111111111.11","111111111.11",20),("-11111111.11","-11111111.11","-11111111.11",21); +insert ignore into t2 values ("-111111111.11","-111111111.11","-111111111.11",22),("+1111111111.11","+1111111111.11","+1111111111.11",23),("1111111111.11","1111111111.11","1111111111.11",24); +insert ignore into t2 values ("1e+1000","1e+1000","1e+1000",25),("1e-1000","1e-1000","1e-1000",26),("-1e+1000","-1e+1000","-1e+1000",27); +insert ignore into t2 values ("1e+4294967296","1e+4294967296","1e+4294967296",28),("1e-4294967296","1e-4294967296","1e-4294967296",29); +insert ignore into t2 values ("1e+18446744073709551615","1e+18446744073709551615","1e+18446744073709551615",30),("1e+18446744073709551616","1e+18446744073709551616","1e+18446744073709551616",31),("1e-9223372036854775807","1e-9223372036854775807","1e-9223372036854775807",32),("1e-9223372036854775809","1e-9223372036854775809","1e-9223372036854775809",33); + +# Now Select +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t2; + +# Select using various access methods +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '-0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '-0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t1 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t1; +--sorted_result +SELECT c1,MIN(c2) FROM t1 GROUP BY c1; + +# Test encoding to 4 or 8 bytes +CREATE TABLE t5(c1 FLOAT(23,0) UNSIGNED NOT NULL, c2 FLOAT(23,0) SIGNED NULL, c3 FLOAT, c4 INT, INDEX idx(c1,c2)); +INSERT INTO t5 VALUES('1e+22','-1e+22','1e+22',1),('1e-22','-1e-22','1e-22',2); +#Output is platform dependent +--disable_result_log +--sorted_result +SELECT * FROM t5; +--enable_result_log +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 FLOAT(24,0) SIGNED NOT NULL, CHANGE c2 c2 FLOAT(24,0) UNSIGNED NULL; +INSERT INTO t5 VALUES('-1e+23','1e+23','1e+23',3),('-1e-23','1e-23','1e-23',4); +#Output is platform dependent +--disable_result_log +--sorted_result +SELECT * FROM t5; +--enable_result_log +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 FLOAT(53,0) UNSIGNED, CHANGE c2 c2 FLOAT(53,0) SIGNED; +INSERT IGNORE INTO t5 VALUES('1e+52','-1e+52','1e+52',5),('1e-52','-1e-52','1e-52',6); +INSERT IGNORE INTO t5 VALUES('1e+53','-1e+53','1e+53',7),('1e-53','-1e-53','1e-53',8); + +#Output is platform dependent +--replace_column 1 # 2 # +--sorted_result +SELECT * FROM t5; +DROP TABLE t5; + +# Test ROUND() and TRUNCATE() +CREATE TABLE t5(c1 FLOAT(16,6), c2 tinyint); +INSERT INTO t5 VALUES(1.1325,3); +SELECT ROUND(c1,c2),TRUNCATE(c1,c2) FROM t5; +DROP TABLE t5; + +# Test wrong decimal types +--error ER_M_BIGGER_THAN_D +CREATE TABLE t7(c1 FLOAT(5,10)); +DROP TABLE t1,t2; + +######## Running INSERT tests for DOUBLE ######## + +# Create tables +CREATE TABLE t1(c1 DOUBLE(10,5) UNSIGNED NOT NULL, c2 DOUBLE(10,5) SIGNED NULL, c3 DOUBLE, c4 INT, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t2(c1 DOUBLE(10,0) SIGNED NOT NULL, c2 DOUBLE(10,0) UNSIGNED NULL, c3 DOUBLE, c4 INT); + +# Test insert values, trailing zeroes are not stripped +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100.05000',1); +INSERT INTO t2 VALUES('-1000000000','1000000000','1000000000',2); + +# Test approximation +INSERT INTO t1(c1) VALUES('12345.000009'); + +# Test insert max values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','99999.99999',3); +INSERT IGNORE INTO t2 VALUES('-9999999999','-9999999999','9999999999',4); + +# Test insert outside max value, would be clipped to closest endpoint +SELECT * FROM t1; +--error ER_DUP_ENTRY +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +DELETE FROM t1 WHERE c1='99999.99999' AND c2='-99999.99999'; +INSERT IGNORE INTO t1 VALUES('100000.000002','-100000.000002','100000.000002',5); +INSERT IGNORE INTO t2 VALUES('10000000000','-10000000000','10000000000',6); + +# Test insert leading zero, +/- signs, overflow handling +insert into t1 values ("0.0","0.0","0.0",7),("01.0","01.0","01.0",10); +insert ignore into t1 values ("-.1","-.1","-.1",13); +insert ignore into t1 values ("+111111111.11","+111111111.11","+111111111.11",19); +insert ignore into t2 values ("0.0","0.0","0.0",7),("-0.0","-0.0","-0.0",8),("+0.0","+0.0","+0.0",9),("01.0","01.0","01.0",10),("+01.0","+01.0","+01.0",11),("-01.0","-01.0","-01.0",12); +insert ignore into t2 values ("-.1","-.1","-.1",13),("+.1","+.1","+.1",14),(".1",".1",".1",15); +insert ignore into t2 values ("00000000000001","00000000000001","00000000000001",16),("+0000000000001","+0000000000001","+0000000000001",17),("-0000000000001","-0000000000001","-0000000000001",18); +insert ignore into t2 values ("+111111111.11","+111111111.11","+111111111.11",19),("111111111.11","111111111.11","111111111.11",20),("-11111111.11","-11111111.11","-11111111.11",21); +insert ignore into t2 values ("-111111111.11","-111111111.11","-111111111.11",22),("+1111111111.11","+1111111111.11","+1111111111.11",23),("1111111111.11","1111111111.11","1111111111.11",24); +insert ignore into t2 values ("1e+1000","1e+1000","1e+1000",25),("1e-1000","1e-1000","1e-1000",26),("-1e+1000","-1e+1000","-1e+1000",27); +insert ignore into t2 values ("1e+4294967296","1e+4294967296","1e+4294967296",28),("1e-4294967296","1e-4294967296","1e-4294967296",29); +insert ignore into t2 values ("1e+18446744073709551615","1e+18446744073709551615","1e+18446744073709551615",30),("1e+18446744073709551616","1e+18446744073709551616","1e+18446744073709551616",31),("1e-9223372036854775807","1e-9223372036854775807","1e-9223372036854775807",32),("1e-9223372036854775809","1e-9223372036854775809","1e-9223372036854775809",33); + +# Now Select +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +#SELECT below outputs 'inf' and 'infinity' for Linux/SunOS respectively +--replace_column 4 inf 5 inf +SELECT count(*) as total_rows, min(c3) as min_value, max(c3) as max_value, sum(c3) as sum, avg(c3) as avg FROM t2; + +# Select using various access methods +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 = '0.0' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 < '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <= '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '0.0' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN ('0.0','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '0.0' AND c1 < '99999.99999' AND c2 = '1.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '-0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 < '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <= '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '100.05' AND '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN ('100.05','99999.99999') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 >= '100.05' AND c1 < '99999.99999' AND c2 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '-0.0'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t1; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t1 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 = '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 > '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 < '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <= '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '-99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '-99999.99999' AND '0.0' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('-99999.99999','0.0') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-99999.99999' AND c2 < '0.0' AND c1 = '99999.99999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t1 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t1; +--sorted_result +SELECT c1,MIN(c2) FROM t1 GROUP BY c1; + +# Test encoding to 4 or 8 bytes +CREATE TABLE t5(c1 DOUBLE(23,0) UNSIGNED NOT NULL, c2 DOUBLE(23,0) SIGNED NULL, c3 DOUBLE, c4 INT, INDEX idx(c1,c2)); +INSERT INTO t5 VALUES('1e+22','-1e+22','1e+22',1),('1e-22','-1e-22','1e-22',2); +--sorted_result +SELECT * FROM t5; +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 DOUBLE(24,0) SIGNED NOT NULL, CHANGE c2 c2 DOUBLE(24,0) UNSIGNED NULL; +INSERT INTO t5 VALUES('-1e+23','1e+23','1e+23',3),('-1e-23','1e-23','1e-23',4); +#Output is platform dependent +--disable_result_log +--sorted_result +SELECT * FROM t5; +--enable_result_log +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +ALTER TABLE t5 CHANGE c1 c1 DOUBLE(53,0) UNSIGNED, CHANGE c2 c2 DOUBLE(53,0) SIGNED; +INSERT INTO t5 VALUES('1e+52','-1e+52','1e+52',5),('1e-52','-1e-52','1e-52',6); +INSERT INTO t5 VALUES('1e+53','-1e+53','1e+53',7),('1e-53','-1e-53','1e-53',8); +#Output is platform dependent +--disable_result_log +--sorted_result +SELECT * FROM t5; +--enable_result_log +DROP TABLE t5; + +# Test ROUND() and TRUNCATE() +CREATE TABLE t5(c1 DOUBLE(16,6), c2 tinyint); +INSERT INTO t5 VALUES(1.1325,3); +SELECT ROUND(c1,c2),TRUNCATE(c1,c2) FROM t5; +DROP TABLE t5; + +# Test wrong decimal types +--error ER_M_BIGGER_THAN_D +CREATE TABLE t7(c1 DOUBLE(5,10)); +DROP TABLE t1,t2; + diff --git a/mysql-test/suite/engines/iuds/t/insert_number.test b/mysql-test/suite/engines/iuds/t/insert_number.test new file mode 100644 index 00000000..9e4a971d --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/insert_number.test @@ -0,0 +1,8164 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4,t5; +--enable_warnings + +######## Running INSERT tests for TINYINT ######## + +# Create tables +CREATE TABLE t1(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); + +# Insert some rows with targeted values +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); + +# Insert duplicates for parts of the clustered key +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); + +# Insert empty string '' +INSERT IGNORE INTO t1 VALUES('','',17,18,19,20,21); +INSERT IGNORE INTO t2 VALUES('','',17,18,19,20,21); +INSERT IGNORE INTO t3 VALUES('','',17,18,19,20,21); + +# Insert negative value to unsigned integer, positive value to signed integer, zero values +INSERT IGNORE INTO t1 VALUES(-1,124,22,23,24,25,26); +INSERT IGNORE INTO t2 VALUES(-1,124,22,23,24,25,26); +INSERT IGNORE INTO t3 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); + +# Insert non-numeric value to numeric column, would be converted to 0 or numeric value (if contains part) +INSERT IGNORE INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +INSERT IGNORE INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +INSERT IGNORE INTO t3 VALUES('101.34 a','a',37,38,39,40,41); + +--sorted_result +SELECT * FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t3 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t3; +--sorted_result +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; + +# Create tables with AUTO_INCREMENT columns and unique indexes +CREATE TABLE t4(c1 TINYINT SIGNED NOT NULL AUTO_INCREMENT, c2 TINYINT UNSIGNED NULL, c3 TINYINT UNSIGNED NOT NULL, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 TINYINT SIGNED NULL, c3 TINYINT SIGNED NOT NULL, c4 SMALLINT, c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); + +# Test with AUTO_INCREMENT columns +# Insert some rows +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +# Insert 0 values, increments the value +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +--let $auto_value=`SELECT LAST_INSERT_ID()=1 AND c1=1 FROM t4 WHERE c2=32 AND c3=33;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +--let $auto_value=`SELECT LAST_INSERT_ID()=109 AND c1=109 FROM t5 WHERE c2=-32 AND c3=-32;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +# Insert NULL, no error, increments the value +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=2 AND c1=2 FROM t4 WHERE c3=104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +INSERT IGNORE INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=110 AND c1=110 FROM t5 WHERE c3=-104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +# Insert empty strings, increments the value +INSERT IGNORE INTO t4 VALUES('','',17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=3 AND c1=3 FROM t4 WHERE c2=0 AND c3=17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +INSERT IGNORE INTO t5 VALUES('','',-17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=111 FROM t5 WHERE c2=0 AND c3=-17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +# Insert strings with numeric part, inserts the numeric part of the string +INSERT IGNORE INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t4 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +INSERT IGNORE INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t5 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +# Insert negative values unsigned & positive value to signed +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=4 FROM t4 WHERE c2=7 AND c3=8;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work on negative value" +} +INSERT IGNORE INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +--let $auto_value=`SELECT LAST_INSERT_ID()=112 AND c1=112 FROM t5 WHERE c2=-1 AND c3=-1;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work for negative value on unsigned" +} +# Insert some rows with no values assigned to AUTO_INCREMENT columns, increments value +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=103 AND c1=103 FROM t4 WHERE c2=101 AND c3=102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=113 AND c1=113 FROM t5 WHERE c2=-101 AND c3=-102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} + +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +# Now select using various table access methods on auto-incremented pk value(full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT * FROM t5 WHERE c5 = 112; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t5; + +## Backward index scan, covering ## +SELECT c1 FROM t5 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t4 WHERE c1=1 OR c2=109; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t4 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t4; +--sorted_result +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; + +# Test Error conditions- NULL into not null col, PK constraint violation, Unique constraint violation + +# Insert NULL to non-null column +--error ER_BAD_NULL_ERROR +SET STATEMENT sql_mode = '' FOR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +--error ER_BAD_NULL_ERROR +INSERT INTO t4(c3) VALUES(NULL); +--error ER_BAD_NULL_ERROR +SET STATEMENT sql_mode = '' FOR +INSERT INTO t5(c3) VALUES(NULL); + +# Insert duplicate value to pk +--error ER_DUP_ENTRY +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +--error ER_DUP_ENTRY +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +SET STATEMENT sql_mode = '' FOR +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +--error ER_DUP_ENTRY +# Insert duplicate value to clustered unique column, throws error +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t6(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +# Test 'INSERT INTO SELECT FROM' primary key constraint violation +CREATE TABLE t7(c1 TINYINT UNSIGNED NOT NULL PRIMARY KEY, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 TINYINT NULL, c3 SMALLINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t7; +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t8; +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--sorted_result +SELECT c1 FROM t7; +--error ER_DUP_ENTRY +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--sorted_result +SELECT c1 FROM t8; +TRUNCATE TABLE t6; +TRUNCATE TABLE t7; +INSERT INTO t6(c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5); +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT c1 FROM t6; +TRUNCATE TABLE t6; + +# Test 'INSERT INTO SELECT FROM' with AUTO_INCREMENT and inserting 0,NULL +INSERT IGNORE INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +--sorted_result +SELECT * FROM t8; +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +--sorted_result +SELECT * FROM t8; +DROP TABLE t6,t7,t8; + +# Test 'INSERT SET' +INSERT IGNORE INTO t2 SET c3=5,c4=6; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=''; + +# Test insert allowable bigger values to 'TINYINT' columns +INSERT INTO t1 VALUES(0,-128,1,2,3,4,5),(255,127,6,7,8,9,10); +INSERT INTO t2 VALUES(0,-128,1,2,3,4,5),(255,127,6,7,8,9,10); +INSERT INTO t3 VALUES(0,-128,1,2,3,4,5),(255,127,6,7,8,9,10); +INSERT INTO t4 VALUES(-128,0,1,2,3,4,5,5),(127,255,6,7,8,9,10,10); +INSERT INTO t5 VALUES(0,-128,1,2,3,4,5,5),(255,127,6,7,8,9,10,10); +--error 167 +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +--error 167 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +--sorted_result +SELECT * FROM t4; + +# Insert signed value to unsigned 'TINYINT', outside range values to signed/unsigned columns +INSERT INTO t1 VALUES(-255,-129,26,27,28,29,30),(256,128,31,32,33,34,35); +INSERT INTO t2 VALUES(-255,-129,26,27,28,29,30),(256,128,31,32,33,34,35); +INSERT INTO t3 VALUES(-255,-129,26,27,28,29,30),(256,128,31,32,33,34,35); +# Insert into t4, t5 (TBD) + +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -128; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 127; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 255 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,255) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 255 AND c6 = 4 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -129; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 128; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 256 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 256 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,256) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 256 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 0; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -128 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 255; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 127 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -128 AND 127 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-128,127) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -128 AND c2 < 127 AND c7 = 5 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = -255; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -129 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -129 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -129 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -129 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -129 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -129 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -129 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 256; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 128 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -129 AND 128 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-129,128) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -129 AND c2 < 128 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +DROP TABLE t1,t2,t3,t4,t5; + +######## Running INSERT tests for SMALLINT ######## + +# Create tables +CREATE TABLE t1(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); + +# Insert some rows with targeted values +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); + +# Insert duplicates for parts of the clustered key +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); + +# Insert empty string '' +INSERT INTO t1 VALUES('','',17,18,19,20,21); +INSERT INTO t2 VALUES('','',17,18,19,20,21); +INSERT INTO t3 VALUES('','',17,18,19,20,21); + +# Insert negative value to unsigned integer, positive value to signed integer, zero values +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); + +# Insert non-numeric value to numeric column, would be converted to 0 or numeric value (if contains part) +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); + +--sorted_result +SELECT * FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t3 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t3; +--sorted_result +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; + +# Create tables with AUTO_INCREMENT columns and unique indexes +CREATE TABLE t4(c1 SMALLINT SIGNED NOT NULL AUTO_INCREMENT, c2 SMALLINT UNSIGNED NULL, c3 SMALLINT UNSIGNED NOT NULL, c4 TINYINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 SMALLINT SIGNED NULL, c3 SMALLINT SIGNED NOT NULL, c4 TINYINT, c5 MEDIUMINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); + +# Test with AUTO_INCREMENT columns +# Insert some rows +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +# Insert 0 values, increments the value +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +--let $auto_value=`SELECT LAST_INSERT_ID()=1 AND c1=1 FROM t4 WHERE c2=32 AND c3=33;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +--let $auto_value=`SELECT LAST_INSERT_ID()=109 AND c1=109 FROM t5 WHERE c2=-32 AND c3=-32;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +# Insert NULL, no error, increments the value +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=2 AND c1=2 FROM t4 WHERE c3=104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=110 AND c1=110 FROM t5 WHERE c3=-104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +# Insert empty strings, increments the value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=3 AND c1=3 FROM t4 WHERE c2=0 AND c3=17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=111 FROM t5 WHERE c2=0 AND c3=-17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +# Insert strings with numeric part, inserts the numeric part of the string +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t4 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t5 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +# Insert negative values unsigned & positive value to signed +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=4 FROM t4 WHERE c2=7 AND c3=8;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work on negative value" +} +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +--let $auto_value=`SELECT LAST_INSERT_ID()=112 AND c1=112 FROM t5 WHERE c2=-1 AND c3=-1;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work for negative value on unsigned" +} +# Insert some rows with no values assigned to AUTO_INCREMENT columns, increments value +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=103 AND c1=103 FROM t4 WHERE c2=101 AND c3=102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=113 AND c1=113 FROM t5 WHERE c2=-101 AND c3=-102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} + +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +# Now select using various table access methods on auto-incremented pk value(full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT * FROM t5 WHERE c5 = 112; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t5; + +## Backward index scan, covering ## +SELECT c1 FROM t5 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t4 WHERE c1=1 OR c2=109; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t4 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t4; +--sorted_result +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; + +# Test Error conditions- NULL into not null col, PK constraint violation, Unique constraint violation + +# Insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +--error ER_BAD_NULL_ERROR +INSERT INTO t4(c3) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t5(c3) VALUES(NULL); + +# Insert duplicate value to pk +--error ER_DUP_ENTRY +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +--error ER_DUP_ENTRY +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +--error ER_DUP_ENTRY +# Insert duplicate value to clustered unique column, throws error +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t6(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +# Test 'INSERT INTO SELECT FROM' primary key constraint violation +CREATE TABLE t7(c1 SMALLINT UNSIGNED NOT NULL PRIMARY KEY, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 SMALLINT NULL, c3 TINYINT, c4 MEDIUMINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t7; +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t8; +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--error ER_DUP_ENTRY +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +TRUNCATE TABLE t6; + +# Test 'INSERT INTO SELECT FROM' with AUTO_INCREMENT and inserting 0,NULL +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +--sorted_result +SELECT * FROM t8; +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +--sorted_result +SELECT * FROM t8; +DROP TABLE t6,t7,t8; + +# Test 'INSERT SET' +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=''; + +# Test insert allowable bigger values to 'SMALLINT' columns +INSERT INTO t1 VALUES(0,-32768,1,2,3,4,5),(255,-128,6,7,8,9,10),(65535,32767,11,12,13,14,15); +INSERT INTO t2 VALUES(0,-32768,1,2,3,4,5),(255,-128,6,7,8,9,10),(65535,32767,11,12,13,14,15); +INSERT INTO t3 VALUES(0,-32768,1,2,3,4,5),(255,-128,6,7,8,9,10),(65535,32767,11,12,13,14,15); +INSERT INTO t4 VALUES(-32768,0,1,2,3,4,5,5),(-128,255,6,7,8,9,10,10),(32767,65535,11,12,13,14,15,15); +INSERT INTO t5 VALUES(0,-32768,1,2,3,4,5,5),(255,-128,6,7,8,9,10,10),(65535,32767,11,12,13,14,15,15); +--error 167 +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +--error 167 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +--sorted_result +SELECT * FROM t4; + +# Insert signed value to unsigned 'SMALLINT', outside range values to signed/unsigned columns +INSERT INTO t1 VALUES(-255,-32769,26,27,28,29,30),(65536,32768,31,32,33,34,35); +INSERT INTO t2 VALUES(-255,-32769,26,27,28,29,30),(65536,32768,31,32,33,34,35); +INSERT INTO t3 VALUES(-255,-32769,26,27,28,29,30),(65536,32768,31,32,33,34,35); +# Insert into t4, t5 (TBD) + +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -32768; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 32767; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 65535 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 65535 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,65535) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 65535 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -32769; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 32768; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 65536 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 65536 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,65536) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 65536 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 0; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -32768 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 65535; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 32767 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -32768 AND 32767 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-32768,32767) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -32768 AND c2 < 32767 AND c7 = 10 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = -255; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -32769 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -32769 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -32769 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -32769 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -32769 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -32769 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -32769 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 65536; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 32768 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -32769 AND 32768 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-32769,32768) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -32769 AND c2 < 32768 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +DROP TABLE t1,t2,t3,t4,t5; + +######## Running INSERT tests for MEDIUMINT ######## + +# Create tables +CREATE TABLE t1(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); + +# Insert some rows with targeted values +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); + +# Insert duplicates for parts of the clustered key +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); + +# Insert empty string '' +INSERT INTO t1 VALUES('','',17,18,19,20,21); +INSERT INTO t2 VALUES('','',17,18,19,20,21); +INSERT INTO t3 VALUES('','',17,18,19,20,21); + +# Insert negative value to unsigned integer, positive value to signed integer, zero values +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); + +# Insert non-numeric value to numeric column, would be converted to 0 or numeric value (if contains part) +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); + +--sorted_result +SELECT * FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t3 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t3; +--sorted_result +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; + +# Create tables with AUTO_INCREMENT columns and unique indexes +CREATE TABLE t4(c1 MEDIUMINT SIGNED NOT NULL AUTO_INCREMENT, c2 MEDIUMINT UNSIGNED NULL, c3 MEDIUMINT UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 MEDIUMINT SIGNED NULL, c3 MEDIUMINT SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 INT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); + +# Test with AUTO_INCREMENT columns +# Insert some rows +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +# Insert 0 values, increments the value +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +--let $auto_value=`SELECT LAST_INSERT_ID()=1 AND c1=1 FROM t4 WHERE c2=32 AND c3=33;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +--let $auto_value=`SELECT LAST_INSERT_ID()=109 AND c1=109 FROM t5 WHERE c2=-32 AND c3=-32;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +# Insert NULL, no error, increments the value +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=2 AND c1=2 FROM t4 WHERE c3=104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=110 AND c1=110 FROM t5 WHERE c3=-104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +# Insert empty strings, increments the value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=3 AND c1=3 FROM t4 WHERE c2=0 AND c3=17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=111 FROM t5 WHERE c2=0 AND c3=-17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +# Insert strings with numeric part, inserts the numeric part of the string +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t4 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t5 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +# Insert negative values unsigned & positive value to signed +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=4 FROM t4 WHERE c2=7 AND c3=8;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work on negative value" +} +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +--let $auto_value=`SELECT LAST_INSERT_ID()=112 AND c1=112 FROM t5 WHERE c2=-1 AND c3=-1;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work for negative value on unsigned" +} +# Insert some rows with no values assigned to AUTO_INCREMENT columns, increments value +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=103 AND c1=103 FROM t4 WHERE c2=101 AND c3=102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=113 AND c1=113 FROM t5 WHERE c2=-101 AND c3=-102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} + +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +# Now select using various table access methods on auto-incremented pk value(full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT * FROM t5 WHERE c5 = 112; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t5; + +## Backward index scan, covering ## +SELECT c1 FROM t5 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t4 WHERE c1=1 OR c2=109; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t4 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t4; +--sorted_result +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; + +# Test Error conditions- NULL into not null col, PK constraint violation, Unique constraint violation + +# Insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +--error ER_BAD_NULL_ERROR +INSERT INTO t4(c3) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t5(c3) VALUES(NULL); + +# Insert duplicate value to pk +--error ER_DUP_ENTRY +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +--error ER_DUP_ENTRY +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +--error ER_DUP_ENTRY +# Insert duplicate value to clustered unique column, throws error +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t6(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +# Test 'INSERT INTO SELECT FROM' primary key constraint violation +CREATE TABLE t7(c1 MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 MEDIUMINT NULL, c3 TINYINT, c4 SMALLINT , c5 INT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t7; +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t8; +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--error ER_DUP_ENTRY +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +TRUNCATE TABLE t6; + +# Test 'INSERT INTO SELECT FROM' with AUTO_INCREMENT and inserting 0,NULL +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +--sorted_result +SELECT * FROM t8; +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +--sorted_result +SELECT * FROM t8; +DROP TABLE t6,t7,t8; + +# Test 'INSERT SET' +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=''; + +# Test insert allowable bigger values to 'MEDIUMINT' columns +INSERT INTO t1 VALUES(0,-8388608,1,2,3,4,5),(255,-32768,6,7,8,9,10),(65535,-128,11,12,13,14,15),(16777215,8388607,16,17,18,19,20); +INSERT INTO t2 VALUES(0,-8388608,1,2,3,4,5),(255,-32768,6,7,8,9,10),(65535,-128,11,12,13,14,15),(16777215,8388607,16,17,18,19,20); +INSERT INTO t3 VALUES(0,-8388608,1,2,3,4,5),(255,-32768,6,7,8,9,10),(65535,-128,11,12,13,14,15),(16777215,8388607,16,17,18,19,20); +INSERT INTO t4 VALUES(-8388608,0,1,2,3,4,5,5),(-32768,255,6,7,8,9,10,10),(-128,65535,11,12,13,14,15,15),(8388607,16777215,16,17,18,19,20,20); +INSERT INTO t5 VALUES(0,-8388608,1,2,3,4,5,5),(255,-32768,6,7,8,9,10,10),(65535,-128,11,12,13,14,15,15),(16777215,8388607,16,17,18,19,20,20); +--error 167 +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +--error 167 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +--sorted_result +SELECT * FROM t4; + +# Insert signed value to unsigned 'MEDIUMINT', outside range values to signed/unsigned columns +INSERT INTO t1 VALUES(-255,-8388609,26,27,28,29,30),(16777216,8388608,31,32,33,34,35); +INSERT INTO t2 VALUES(-255,-8388609,26,27,28,29,30),(16777216,8388608,31,32,33,34,35); +INSERT INTO t3 VALUES(-255,-8388609,26,27,28,29,30),(16777216,8388608,31,32,33,34,35); +# Insert into t4, t5 (TBD) + +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -8388608; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 8388607; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 16777215 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 16777215 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,16777215) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 16777215 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -8388609; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 8388608; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 16777216 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 16777216 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,16777216) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 16777216 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 0; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -8388608 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 16777215; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 8388607 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -8388608 AND 8388607 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-8388608,8388607) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -8388608 AND c2 < 8388607 AND c7 = 15 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = -255; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -8388609 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -8388609 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -8388609 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -8388609 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -8388609 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -8388609 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -8388609 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 16777216; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 8388608 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -8388609 AND 8388608 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-8388609,8388608) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -8388609 AND c2 < 8388608 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +DROP TABLE t1,t2,t3,t4,t5; + +######## Running INSERT tests for INT ######## + +# Create tables +CREATE TABLE t1(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t2(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT, index idx(c2,c7)); + +# Insert some rows with targeted values +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); + +# Insert duplicates for parts of the clustered key +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); + +# Insert empty string '' +INSERT INTO t1 VALUES('','',17,18,19,20,21); +INSERT INTO t2 VALUES('','',17,18,19,20,21); +INSERT INTO t3 VALUES('','',17,18,19,20,21); + +# Insert negative value to unsigned integer, positive value to signed integer, zero values +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); + +# Insert non-numeric value to numeric column, would be converted to 0 or numeric value (if contains part) +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); + +--sorted_result +SELECT * FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t3 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t3; +--sorted_result +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; + +# Create tables with AUTO_INCREMENT columns and unique indexes +CREATE TABLE t4(c1 INT SIGNED NOT NULL AUTO_INCREMENT, c2 INT UNSIGNED NULL, c3 INT UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 MEDIUMINT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 INT UNSIGNED NOT NULL AUTO_INCREMENT, c2 INT SIGNED NULL, c3 INT SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 MEDIUMINT, c7 INTEGER, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); + +# Test with AUTO_INCREMENT columns +# Insert some rows +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +# Insert 0 values, increments the value +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +--let $auto_value=`SELECT LAST_INSERT_ID()=1 AND c1=1 FROM t4 WHERE c2=32 AND c3=33;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +--let $auto_value=`SELECT LAST_INSERT_ID()=109 AND c1=109 FROM t5 WHERE c2=-32 AND c3=-32;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +# Insert NULL, no error, increments the value +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=2 AND c1=2 FROM t4 WHERE c3=104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=110 AND c1=110 FROM t5 WHERE c3=-104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +# Insert empty strings, increments the value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=3 AND c1=3 FROM t4 WHERE c2=0 AND c3=17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=111 FROM t5 WHERE c2=0 AND c3=-17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +# Insert strings with numeric part, inserts the numeric part of the string +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t4 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t5 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +# Insert negative values unsigned & positive value to signed +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=4 FROM t4 WHERE c2=7 AND c3=8;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work on negative value" +} +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +--let $auto_value=`SELECT LAST_INSERT_ID()=112 AND c1=112 FROM t5 WHERE c2=-1 AND c3=-1;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work for negative value on unsigned" +} +# Insert some rows with no values assigned to AUTO_INCREMENT columns, increments value +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=103 AND c1=103 FROM t4 WHERE c2=101 AND c3=102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=113 AND c1=113 FROM t5 WHERE c2=-101 AND c3=-102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} + +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +# Now select using various table access methods on auto-incremented pk value(full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT * FROM t5 WHERE c5 = 112; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t5; + +## Backward index scan, covering ## +SELECT c1 FROM t5 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t4 WHERE c1=1 OR c2=109; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t4 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t4; +--sorted_result +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; + +# Test Error conditions- NULL into not null col, PK constraint violation, Unique constraint violation + +# Insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +--error ER_BAD_NULL_ERROR +INSERT INTO t4(c3) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t5(c3) VALUES(NULL); + +# Insert duplicate value to pk +--error ER_DUP_ENTRY +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +--error ER_DUP_ENTRY +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +--error ER_DUP_ENTRY +# Insert duplicate value to clustered unique column, throws error +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t6(c1 INT UNSIGNED NOT NULL, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +# Test 'INSERT INTO SELECT FROM' primary key constraint violation +CREATE TABLE t7(c1 INT UNSIGNED NOT NULL PRIMARY KEY, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +CREATE TABLE t8(c1 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INTEGER, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t7; +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t8; +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--error ER_DUP_ENTRY +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +TRUNCATE TABLE t6; + +# Test 'INSERT INTO SELECT FROM' with AUTO_INCREMENT and inserting 0,NULL +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +--sorted_result +SELECT * FROM t8; +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +--sorted_result +SELECT * FROM t8; +DROP TABLE t6,t7,t8; + +# Test 'INSERT SET' +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=''; + +# Test insert allowable bigger values to 'INT' columns +INSERT INTO t1 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t2 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t3 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t4 VALUES(-2147483648,0,1,2,3,4,5,5),(-8388608,255,6,7,8,9,10,10),(-32768,65535,11,12,13,14,15,15),(-128,16777215,16,17,18,19,20,20),(2147483647,4294967295,21,22,23,24,25,25); +INSERT INTO t5 VALUES(0,-2147483648,1,2,3,4,5,5),(255,-8388608,6,7,8,9,10,10),(65535,-32768,11,12,13,14,15,15),(16777215,-128,16,17,18,19,20,20),(4294967295,2147483647,21,22,23,24,25,25); +--error 167 +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +--error 167 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +--sorted_result +SELECT * FROM t4; + +# Insert signed value to unsigned 'INT', outside range values to signed/unsigned columns +INSERT INTO t1 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +INSERT INTO t2 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +INSERT INTO t3 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +# Insert into t4, t5 (TBD) + +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -2147483648; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 2147483647; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -2147483649; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 2147483648; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 0; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 4294967295; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = -255; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 4294967296; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +DROP TABLE t1,t2,t3,t4,t5; + +######## Running INSERT tests for INTEGER ######## + +# Create tables +CREATE TABLE t1(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +CREATE TABLE t2(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT, index idx(c2,c7)); + +# Insert some rows with targeted values +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); + +# Insert duplicates for parts of the clustered key +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); + +# Insert empty string '' +INSERT INTO t1 VALUES('','',17,18,19,20,21); +INSERT INTO t2 VALUES('','',17,18,19,20,21); +INSERT INTO t3 VALUES('','',17,18,19,20,21); + +# Insert negative value to unsigned integer, positive value to signed integer, zero values +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); + +# Insert non-numeric value to numeric column, would be converted to 0 or numeric value (if contains part) +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); + +--sorted_result +SELECT * FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t3 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t3; +--sorted_result +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; + +# Create tables with AUTO_INCREMENT columns and unique indexes +CREATE TABLE t4(c1 INTEGER SIGNED NOT NULL AUTO_INCREMENT, c2 INTEGER UNSIGNED NULL, c3 INTEGER UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 BIGINT, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, c2 INTEGER SIGNED NULL, c3 INTEGER SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 BIGINT, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); + +# Test with AUTO_INCREMENT columns +# Insert some rows +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +# Insert 0 values, increments the value +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +--let $auto_value=`SELECT LAST_INSERT_ID()=1 AND c1=1 FROM t4 WHERE c2=32 AND c3=33;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +--let $auto_value=`SELECT LAST_INSERT_ID()=109 AND c1=109 FROM t5 WHERE c2=-32 AND c3=-32;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +# Insert NULL, no error, increments the value +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=2 AND c1=2 FROM t4 WHERE c3=104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=110 AND c1=110 FROM t5 WHERE c3=-104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +# Insert empty strings, increments the value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=3 AND c1=3 FROM t4 WHERE c2=0 AND c3=17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=111 FROM t5 WHERE c2=0 AND c3=-17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +# Insert strings with numeric part, inserts the numeric part of the string +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t4 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t5 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +# Insert negative values unsigned & positive value to signed +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=4 FROM t4 WHERE c2=7 AND c3=8;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work on negative value" +} +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +--let $auto_value=`SELECT LAST_INSERT_ID()=112 AND c1=112 FROM t5 WHERE c2=-1 AND c3=-1;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work for negative value on unsigned" +} +# Insert some rows with no values assigned to AUTO_INCREMENT columns, increments value +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=103 AND c1=103 FROM t4 WHERE c2=101 AND c3=102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=113 AND c1=113 FROM t5 WHERE c2=-101 AND c3=-102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} + +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +# Now select using various table access methods on auto-incremented pk value(full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT * FROM t5 WHERE c5 = 112; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t5; + +## Backward index scan, covering ## +SELECT c1 FROM t5 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t4 WHERE c1=1 OR c2=109; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t4 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t4; +--sorted_result +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; + +# Test Error conditions- NULL into not null col, PK constraint violation, Unique constraint violation + +# Insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +--error ER_BAD_NULL_ERROR +INSERT INTO t4(c3) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t5(c3) VALUES(NULL); + +# Insert duplicate value to pk +--error ER_DUP_ENTRY +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +--error ER_DUP_ENTRY +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +--error ER_DUP_ENTRY +# Insert duplicate value to clustered unique column, throws error +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t6(c1 INTEGER UNSIGNED NOT NULL, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +# Test 'INSERT INTO SELECT FROM' primary key constraint violation +CREATE TABLE t7(c1 INTEGER UNSIGNED NOT NULL PRIMARY KEY, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +CREATE TABLE t8(c1 INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INTEGER NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 BIGINT); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t7; +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t8; +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--error ER_DUP_ENTRY +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +TRUNCATE TABLE t6; + +# Test 'INSERT INTO SELECT FROM' with AUTO_INCREMENT and inserting 0,NULL +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +--sorted_result +SELECT * FROM t8; +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +--sorted_result +SELECT * FROM t8; +DROP TABLE t6,t7,t8; + +# Test 'INSERT SET' +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=''; + +# Test insert allowable bigger values to 'INTEGER' columns +INSERT INTO t1 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t2 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t3 VALUES(0,-2147483648,1,2,3,4,5),(255,-8388608,6,7,8,9,10),(65535,-32768,11,12,13,14,15),(16777215,-128,16,17,18,19,20),(4294967295,2147483647,21,22,23,24,25); +INSERT INTO t4 VALUES(-2147483648,0,1,2,3,4,5,5),(-8388608,255,6,7,8,9,10,10),(-32768,65535,11,12,13,14,15,15),(-128,16777215,16,17,18,19,20,20),(2147483647,4294967295,21,22,23,24,25,25); +INSERT INTO t5 VALUES(0,-2147483648,1,2,3,4,5,5),(255,-8388608,6,7,8,9,10,10),(65535,-32768,11,12,13,14,15,15),(16777215,-128,16,17,18,19,20,20),(4294967295,2147483647,21,22,23,24,25,25); +--error 167 +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +--error 167 +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +--sorted_result +SELECT * FROM t4; + +# Insert signed value to unsigned 'INTEGER', outside range values to signed/unsigned columns +INSERT INTO t1 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +INSERT INTO t2 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); +INSERT INTO t3 VALUES(-255,-2147483649,26,27,28,29,30),(4294967296,2147483648,31,32,33,34,35); + +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -2147483648; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 2147483647; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 4294967295 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 4294967295 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,4294967295) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 4294967295 AND c6 = 9 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -2147483649; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = -255 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> -255 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 2147483648; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 4294967296 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -255 AND 4294967296 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-255,4294967296) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -255 AND c1 < 4294967296 AND c6 = 29 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 0; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -2147483648 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 4294967295; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 2147483647 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483648 AND 2147483647 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483648,2147483647) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483648 AND c2 < 2147483647 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = -255; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -2147483649 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -2147483649 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 4294967296; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 2147483648 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -2147483649 AND 2147483648 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-2147483649,2147483648) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -2147483649 AND c2 < 2147483648 AND c7 = 30 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +DROP TABLE t1,t2,t3,t4,t5; + +######## Running INSERT tests for BIGINT ######## + +# Create tables +CREATE TABLE t1(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +CREATE TABLE t2(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, PRIMARY KEY(c1,c6)); +CREATE TABLE t3(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER, index idx(c2,c7)); + +# Insert some rows with targeted values +INSERT INTO t1 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t2 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,107),(108,-109,110,111,112,113,114),(115,-116,117,118,119,120,121),(122,-123,124,125,126,127,128); + +# Insert duplicates for parts of the clustered key +INSERT INTO t2 VALUES(108,-109,110,111,112,101,114),(108,-109,110,111,112,102,114),(102,-109,110,111,112,113,114),(103,-109,110,111,112,113,114); +INSERT INTO t3 VALUES(101,-102,103,104,105,106,101),(101,-102,103,104,105,106,102),(101,-103,103,104,105,106,107),(101,-104,103,104,105,106,107); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t2 VALUES(105,NULL,102,103,104,105,106); +INSERT INTO t3 VALUES(105,NULL,102,103,104,105,106); + +# Insert empty string '' +INSERT INTO t1 VALUES('','',17,18,19,20,21); +INSERT INTO t2 VALUES('','',17,18,19,20,21); +INSERT INTO t3 VALUES('','',17,18,19,20,21); + +# Insert negative value to unsigned integer, positive value to signed integer, zero values +INSERT INTO t1 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t2 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t3 VALUES(-1,124,22,23,24,25,26); +INSERT INTO t1 VALUES(0,124,27,28,29,30,31); +INSERT INTO t2 VALUES(0,124,27,28,29,30,31); +INSERT INTO t3 VALUES(0,124,27,28,29,30,31); +INSERT INTO t1 VALUES(0,0,32,32,34,35,36); +INSERT INTO t2 VALUES(0,0,32,32,34,35,36); +INSERT INTO t3 VALUES(0,0,32,32,34,35,36); + +# Insert non-numeric value to numeric column, would be converted to 0 or numeric value (if contains part) +INSERT INTO t1 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t2 VALUES('101.34 a','a',37,38,39,40,41); +INSERT INTO t3 VALUES('101.34 a','a',37,38,39,40,41); + +--sorted_result +SELECT * FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t1; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t1; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t2; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t2; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t3; +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) as max_value, sum(c2) as sum, avg(c2) as avg FROM t3; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 108 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 108 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 101 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (101,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 101 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 102; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 115 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,115) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 115 AND c6 = 113 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -102 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -102 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -123 AND 0 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-123,0) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -123 AND c2 < 0 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 108; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND -123 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,-123) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < -123 AND c7 = 121 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t3 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t3; +--sorted_result +SELECT c2,MIN(c7) FROM t3 GROUP BY c2; + +# Create tables with AUTO_INCREMENT columns and unique indexes +CREATE TABLE t4(c1 BIGINT SIGNED NOT NULL AUTO_INCREMENT, c2 BIGINT UNSIGNED NULL, c3 BIGINT UNSIGNED NOT NULL, c4 TINYINT , c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 INTEGER, PRIMARY KEY(c1), UNIQUE INDEX idx(c2,c3)); +CREATE TABLE t5(c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, c2 BIGINT SIGNED NULL, c3 BIGINT SIGNED NOT NULL, c4 TINYINT, c5 SMALLINT, c6 MEDIUMINT, c7 INT, c8 INTEGER, PRIMARY KEY(c1,c2), UNIQUE INDEX(c3)); + +# Test with AUTO_INCREMENT columns +# Insert some rows +INSERT INTO t4 VALUES(-101,102,103,104,105,106,107,108),(-108,109,110,111,112,113,114,115); +INSERT INTO t5 VALUES(101,-102,-103,-104,105,106,107,108),(108,-109,-110,111,112,113,114,115); +# Insert 0 values, increments the value +INSERT INTO t4 VALUES(0,32,33,34,35,36,37,38); +--let $auto_value=`SELECT LAST_INSERT_ID()=1 AND c1=1 FROM t4 WHERE c2=32 AND c3=33;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +INSERT INTO t5 VALUES(0,-32,-32,33,34,35,36,37); +--let $auto_value=`SELECT LAST_INSERT_ID()=109 AND c1=109 FROM t5 WHERE c2=-32 AND c3=-32;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on 0" +} +# Insert NULL, no error, increments the value +INSERT INTO t4(c1,c3,c4) VALUES(NULL,104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=2 AND c1=2 FROM t4 WHERE c3=104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +INSERT INTO t5(c1,c3,c4) VALUES(NULL,-104,LAST_INSERT_ID()); +--let $auto_value=`SELECT LAST_INSERT_ID()=110 AND c1=110 FROM t5 WHERE c3=-104;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on NULL" +} +# Insert empty strings, increments the value +INSERT INTO t4 VALUES('','',17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=3 AND c1=3 FROM t4 WHERE c2=0 AND c3=17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +INSERT INTO t5 VALUES('','',-17,18,19,20,21,22); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=111 FROM t5 WHERE c2=0 AND c3=-17;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on ''" +} +# Insert strings with numeric part, inserts the numeric part of the string +INSERT INTO t4 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t4 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +INSERT INTO t5 VALUES('102.34 a','a','a',37,38,39,40,41); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=102 FROM t5 WHERE c2=0 AND c3=0;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well on invalid strings with numeric part" +} +# Insert negative values unsigned & positive value to signed +INSERT INTO t4 VALUES(4,7,8,9,10,11,12,13); +--let $auto_value=`SELECT LAST_INSERT_ID()=111 AND c1=4 FROM t4 WHERE c2=7 AND c3=8;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work on negative value" +} +INSERT INTO t5 VALUES(-1,-1,-1,8,9,10,11,12); +--let $auto_value=`SELECT LAST_INSERT_ID()=112 AND c1=112 FROM t5 WHERE c2=-1 AND c3=-1;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work for negative value on unsigned" +} +# Insert some rows with no values assigned to AUTO_INCREMENT columns, increments value +INSERT INTO t4(c2,c3,c4,c5,c6,c7,c8) VALUES(101,102,104,105,106,107,108),(108,109,111,112,113,114,115),(115,116,118,119,120,121,122),(122,123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=103 AND c1=103 FROM t4 WHERE c2=101 AND c3=102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} +INSERT INTO t5(c2,c3,c4,c5,c6,c7,c8) VALUES(-101,-102,104,105,106,107,108),(-108,-109,111,112,113,114,115),(-115,-116,118,119,120,121,122),(-122,-123,125,126,127,128,128); +--let $auto_value=`SELECT LAST_INSERT_ID()=113 AND c1=113 FROM t5 WHERE c2=-101 AND c3=-102;` +--if (!$auto_value) { +--die "AUTO_INCREMENT didn't work well" +} + +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t4; +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) as max_value, sum(c1) as sum, avg(c1) as avg FROM t5; +# Now select using various table access methods on auto-incremented pk value(full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 1 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 1 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t4; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t4; +--sorted_result +SELECT * FROM t4 WHERE c4 = 104; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t4; + +## Backward index scan, covering ## +SELECT c1 FROM t4 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t4 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 = 0 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 > 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 < 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 <=> 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 BETWEEN -101 AND 4 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IN (-101,4) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 >= -101 AND c1 < 4 AND c3 = 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t4 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT * FROM t5 WHERE c5 = 112; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t5; + +## Backward index scan, covering ## +SELECT c1 FROM t5 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 = 109 ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 > 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 < 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <= 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 <=> 109 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 BETWEEN 0 AND 112 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IN (0,112) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 >= 0 AND c1 < 112 AND c2 = -108 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t4 WHERE c1=1 OR c2=109; + +# Using index for group-by +--sorted_result +SELECT c2 FROM t4 GROUP BY c2; +--sorted_result +SELECT DISTINCT c2 FROM t4; +--sorted_result +SELECT c2,MIN(c3) FROM t4 GROUP BY c2; + +# Test Error conditions- NULL into not null col, PK constraint violation, Unique constraint violation + +# Insert NULL to non-null column +--error ER_BAD_NULL_ERROR +INSERT INTO t2(c1) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t3 VALUES(NULL,1,2,3,4,5,6); +--error ER_BAD_NULL_ERROR +INSERT INTO t4(c3) VALUES(NULL); +--error ER_BAD_NULL_ERROR +INSERT INTO t5(c3) VALUES(NULL); + +# Insert duplicate value to pk +--error ER_DUP_ENTRY +INSERT INTO t4(c1,c3) VALUES(-101,105) /*throws error as the row with c1=-101 exists */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c6) VALUES(101,106) /*throws error as the row with c1=101,c6=106 exists */; +--error ER_DUP_ENTRY +INSERT INTO t5(c1,c2,c3) VALUES(101,-102,4) /*throws error as the row with c1=101,c2=-102 exists */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t5(c3) VALUES(-103) /*throws error as the row with c3=-103 exists */; +--error ER_DUP_ENTRY +# Insert duplicate value to clustered unique column, throws error +INSERT INTO t4(c2,c3) VALUES(102,103) /*throws error as the row with c2=102,c3=103 exists */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t6(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +INSERT INTO t6 SELECT * FROM t2 where c1 >= 109; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +INSERT INTO t6 SELECT * FROM t3 where c2 <= -116; +--sorted_result +SELECT * FROM t6; +TRUNCATE TABLE t6; +# Test 'INSERT INTO SELECT FROM' primary key constraint violation +CREATE TABLE t7(c1 BIGINT UNSIGNED NOT NULL PRIMARY KEY, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +CREATE TABLE t8(c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 BIGINT NULL, c3 TINYINT, c4 SMALLINT , c5 MEDIUMINT, c6 INT, c7 INTEGER); +INSERT INTO t6 VALUES(1,-2,2,2,2,2,2),(1,-3,3,3,3,3,3); +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t7; +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 LIMIT 1; +--sorted_result +SELECT * FROM t8; +--error ER_DUP_ENTRY +INSERT INTO t7(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +--error ER_DUP_ENTRY +INSERT INTO t8(c1) SELECT t6.c1 FROM t6 /* throws error as t6 contains duplicate rows for c1=1 */; +TRUNCATE TABLE t6; + +# Test 'INSERT INTO SELECT FROM' with AUTO_INCREMENT and inserting 0,NULL +INSERT INTO t6 VALUES(5,-1,1,1,1,1,1),(6,-2,2,2,2,2,2),(0,-4,4,4,4,4,4),(NULL,-5,5,5,5,5,5); +INSERT INTO t8 SELECT * FROM t6; +SELECT LAST_INSERT_ID() AS last_insert_id; +--sorted_result +SELECT * FROM t8; +TRUNCATE TABLE t8; +INSERT INTO t8(c2) SELECT c2 FROM t6 WHERE c1 >= 6; +--sorted_result +SELECT * FROM t8; +DROP TABLE t6,t7,t8; + +# Test 'INSERT SET' +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_NO_DEFAULT_FOR_FIELD +INSERT INTO t2 SET c3=5,c4=6; +SET SQL_MODE=''; + +# Test insert allowable bigger values to 'BIGINT' columns +INSERT INTO t1 VALUES(0,-9223372036854775808,1,2,3,4,5),(255,-2147483648,6,7,8,9,10),(65535,-8388608,11,12,13,14,15),(16777215,-32768,16,17,18,19,20),(4294967295,-128,21,22,23,24,25),(18446744073709551615,9223372036854775807,26,27,28,29,30); +INSERT INTO t2 VALUES(0,-9223372036854775808,1,2,3,4,5),(255,-2147483648,6,7,8,9,10),(65535,-8388608,11,12,13,14,15),(16777215,-32768,16,17,18,19,20),(4294967295,-128,21,22,23,24,25),(18446744073709551615,9223372036854775807,26,27,28,29,30); +INSERT INTO t3 VALUES(0,-9223372036854775808,1,2,3,4,5),(255,-2147483648,6,7,8,9,10),(65535,-8388608,11,12,13,14,15),(16777215,-32768,16,17,18,19,20),(4294967295,-128,21,22,23,24,25),(18446744073709551615,9223372036854775807,26,27,28,29,30); +INSERT INTO t4 VALUES(-9223372036854775808,0,1,2,3,4,5,5),(-2147483648,255,6,7,8,9,10,10),(-8388608,65535,11,12,13,14,15,15),(-32768,16777215,16,17,18,19,20,20),(-128,4294967295,21,22,23,24,25,25),(9223372036854775807,18446744073709551615,26,27,28,29,30,30); +INSERT INTO t5 VALUES(0,-9223372036854775808,1,2,3,4,5,5),(255,-2147483648,6,7,8,9,10,10),(65535,-8388608,11,12,13,14,15,15),(16777215,-32768,16,17,18,19,20,20),(4294967295,-128,21,22,23,24,25,25),(18446744073709551615,9223372036854775807,26,27,28,29,30,30); +--error 167 +INSERT INTO t4(c2,c3) VALUES(31,32) /* tries to increment out of range */; +--error ER_AUTOINC_READ_FAILED +INSERT INTO t5(c2,c3) VALUES(33,34) /* tries to increment out of range */; +--sorted_result +SELECT * FROM t4; + +# Insert signed value to unsigned 'BIGINT', outside range values to signed/unsigned columns +INSERT INTO t1 VALUES(-128,-9223372036854775809,31,32,33,34,35),(18446744073709551616,9223372036854775808,36,37,38,39,40); +INSERT INTO t2 VALUES(-128,-9223372036854775809,31,32,33,34,35),(18446744073709551616,9223372036854775808,36,37,38,39,40); +INSERT INTO t3 VALUES(-128,-9223372036854775809,31,32,33,34,35),(18446744073709551616,9223372036854775808,36,37,38,39,40); + +# Now select using various table access methods +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -9223372036854775808; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 0 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 0 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 9223372036854775807; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN 0 AND 18446744073709551615 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (0,18446744073709551615) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 0 AND c1 < 18446744073709551615 AND c6 = 14 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = -9223372036854775809; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = -128 ORDER BY c1,c6 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c2 = 9223372036854775808; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c6 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c6 FROM t2 ORDER BY c1,c6 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2; + +## ref type access +--disable_warnings +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +--enable_warnings + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <> 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 > 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 < 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <= 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 <=> 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 18446744073709551616 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IN (-128,18446744073709551616) ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 >= -128 AND c1 < 18446744073709551616 AND c6 = 34 ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c6 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c6 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 0; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 18446744073709551615; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775808 AND 9223372036854775807 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775808,9223372036854775807) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -9223372036854775808 AND c2 < 9223372036854775807 AND c7 = 20 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = -128; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> -9223372036854775809 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c1 = 18446744073709551616; + +## Forward index scan, covering ## +--sorted_result +SELECT c2,c7 FROM t3; + +## Backward index scan, covering ## +SELECT c2,c7 FROM t3 ORDER BY c2,c7 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c2,c7 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 = 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <> 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 > 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 < 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <= 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 <=> 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN -9223372036854775809 AND 9223372036854775808 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IN (-9223372036854775809,9223372036854775808) ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 >= -9223372036854775809 AND c2 < 9223372036854775808 AND c7 = 35 ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c2,c7 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c2,c7 DESC LIMIT 2; +DROP TABLE t1,t2,t3,t4,t5; + diff --git a/mysql-test/suite/engines/iuds/t/insert_time.test b/mysql-test/suite/engines/iuds/t/insert_time.test new file mode 100644 index 00000000..0e5e2150 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/insert_time.test @@ -0,0 +1,1065 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running INSERT tests for TIME ######## + +# Create tables +CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE); +# Insert some rows with targeted values + +# As a string in 'D HH:MM:SS.fraction' format +INSERT INTO t1 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t2 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t3 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); +INSERT INTO t4 VALUES('12:34:56.78','12:34:56.78','2009-01-01'),('10:22:33','10:22:33','2009-01-02'),('1:23','1:23','2009-01-03'),('20 11:22:33','20 11:22:33','2009-01-04'),('34 9:23','34 9:23','2009-01-05'),('0 10','0 10','2009-01-06'),('45','45','2009-01-07'),('-838:59:59','-838:59:59','2009-01-08'),('0','0','2009-01-09'),('838:59:59','838:59:59','2009-01-10'); + +# As a string with no delimiters in 'HHMMSS' format +INSERT INTO t1 VALUES('101112','101112','2009-01-11'); +INSERT INTO t2 VALUES('101112','101112','2009-01-11'); +INSERT INTO t3 VALUES('101112','101112','2009-01-11'); +INSERT INTO t4 VALUES('101112','101112','2009-01-11'); + +# As a number in HHMMSS format +INSERT INTO t1 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +INSERT INTO t2 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +INSERT INTO t3 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); +INSERT INTO t4 VALUES(111112,111112,'2009-01-12'),(12,12,'2009-01-13'),(1234,1234,'2009-01-14'),(123458,123458,'2009-01-15'),(123556.99,123556.99,'2009-01-16'); + +# As the result of a function +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT INTO t1 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t2 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t3 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); +INSERT INTO t4 VALUES(CURRENT_TIME(),CURRENT_TIME(),'2009-01-17'); + +# Other valid formats (single digit, zero hrs,mins,secs.) +INSERT INTO t1 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +INSERT INTO t2 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +INSERT INTO t3 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +INSERT INTO t4 VALUES('8:3:2','8:3:2','2009-01-18'),('1112','1112','2009-01-19'),(11,11,'2009-01-20'),('00:12:30','00:12:30','2009-01-23'),('9:00:45','9:00:45','2009-01-24'),('9:36:00','9:36:00','2009-01-25'); +# Outside range would be clipped to closest end point +--error ER_DUP_ENTRY +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('-850:00:00','-850:00:00','2009-01-21'); +--error ER_DUP_ENTRY +SET STATEMENT sql_mode = '' FOR +INSERT INTO t1 VALUES('850:00:00','850:00:00','2009-01-21'); +DELETE FROM t1 WHERE c1='-838:59:59' AND c2='-838:59:59'; +DELETE FROM t1 WHERE c1='838:59:59' AND c2='838:59:59'; +INSERT IGNORE INTO t1 VALUES('-850:00:00','-850:00:00','2009-01-21'),('850:00:00','850:00:00','2009-01-21'); + +# Insert invalid values +INSERT IGNORE INTO t4 VALUES('10.22.22','10.22.22','2009-01-26'),(1234567,1234567,'2009-01-27'),(123456789,123456789,'2009-01-28'),(123456789.10,123456789.10,'2009-01-29'),('10 22:22','10 22:22','2009-01-30'),('12.45a','12.45a','2009-01-31'); + +# Insert permissible NULLs +INSERT INTO t1 VALUES('8:29:45',NULL,'2009-02-01'); +INSERT INTO t3 VALUES('8:29:45',NULL,'2009-02-01'); +INSERT INTO t4 VALUES('8:29:45',NULL,'2009-02-01'); + +# Insert duplicate NULLs to unique column +INSERT INTO t1(c1,c2) VALUES('9:30',NULL); +DELETE FROM t1 WHERE c1='9:30' AND c2 IS NULL; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2009-01-17'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '838:59:59' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2009-01-16'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; + +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c1 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 = '00:00:00' ORDER BY c1 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> '00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 > '00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 < '00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <= '00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> '00:00:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2009-01-15'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = '-838:59:59' ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> '-838:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > '-838:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < '-838:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= '-838:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> '-838:59:59' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t1; +--sorted_result +SELECT * FROM t1 WHERE c3 = '2009-01-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t1; + +## Backward index scan, covering ## +SELECT c2 FROM t1 ORDER BY c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t1 ORDER BY c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 = NULL ORDER BY c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2; +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2; +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2; +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <> NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 > NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 < NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <= NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 <=> NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IN (NULL,'10:22:33') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2 DESC LIMIT 2; + +# Index-merge access +--sorted_result +SELECT * FROM t1 WHERE c1='838:59:59' OR c2='-838:59:59'; + +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2009-01-17'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2009-01-16'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2009-01-15'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '2009-01-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2009-01-17'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','838:59:59') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '838:59:59' AND c2 = '11:11:12' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2009-01-16'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '00:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '00:00:00' AND '09:36:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('00:00:00','09:36:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '00:00:00' AND c1 < '09:36:00' AND c2 = '01:23:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2009-01-15'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> '-838:59:59' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '-838:59:59' AND '10:00:00' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('-838:59:59','10:00:00') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '-838:59:59' AND c2 < '10:00:00' AND c1 = '00:11:12' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '2009-01-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '10:22:33' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,'10:22:33') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '10:22:33' AND c1 = '491:22:33' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t3 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t3; +--sorted_result +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; + +# Some more testing......... + +# These must return normal result +SELECT CAST(235959.123456 AS TIME); +SELECT CAST(0.235959123456e+6 AS TIME); +SELECT CAST(235959123456e-6 AS TIME); +# These must cut fraction part and produce warning +SELECT CAST(235959.1234567 AS TIME); +SELECT CAST(0.2359591234567e6 AS TIME); +# This must return NULL and produce warning +--replace_result 2.359591234567e+029 2.359591234567e+29 +SELECT CAST(0.2359591234567e+30 AS TIME); + +# Compare time values as strings +select cast('100:55:50' as time) < cast('24:00:00' as time); +select cast('100:55:50' as time) < cast('024:00:00' as time); +select cast('300:55:50' as time) < cast('240:00:00' as time); +select cast('100:55:50' as time) > cast('24:00:00' as time); +select cast('100:55:50' as time) > cast('024:00:00' as time); +select cast('300:55:50' as time) > cast('240:00:00' as time); +create table t5 (f1 time); +insert into t5 values ('24:00:00'); +select cast('24:00:00' as time) = (select f1 from t5); +drop table t5; +# Test Error conditions- PK constraint violation, Unique constraint violation + +# Insert duplicate value to pk column +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('10:22:33','10:22:34') /* throws error as row exists with c1='10:22:33' */; + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') /* throws error as row exists with c1='12:34:56.78',c2='12:34:56.78' */; + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('10:22:34','34 9:23') /* throws error as row exists with c2='34 9:23' */; + +# Insert duplicate value to clustered unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t3(c1,c2) VALUES('34 9:23','34 9:23') /* throws error as row exists with c1='34 9:23',c2='34 9:23' */; + +# Test 'INSERT IGNORE' with the same rows that reported constraint violation above +# Ignore pk constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('10:22:33','10:22:34') /* doesn't throw error */; +INSERT IGNORE INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') /*doesn't throw error */; +# Ignore unique constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('10:22:34','34 9:23') /*doesn't throw error */; +INSERT IGNORE INTO t3(c1,c2) VALUES('34 9:23','34 9:23') /*doesn't throw error */; +# Select + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with PK one column/multi-column +SELECT * FROM t1 WHERE c1='10:23:33' /* no rows */; +INSERT INTO t1(c1) VALUES('10:22:33') ON DUPLICATE KEY UPDATE c1='10:23:33'; +SELECT * FROM t1 WHERE c1='10:23:33' /* 1 row */; +SELECT * FROM t2 WHERE c1='12:34:56.79' AND c2='12:34:57.78' /* no rows */; +INSERT INTO t2(c1,c2) VALUES('12:34:56.78','12:34:56.78') ON DUPLICATE KEY UPDATE c1='12:34:56.79',c2='12:34:57.78'; +SELECT * FROM t2 WHERE c1='12:34:56.79' AND c2='12:34:57.78' /* 1 row */; +# Test 'INSERT ON DUPLICATE KEY UPDATE' with unique one column/multi-column +SELECT * FROM t1 WHERE c1='10:22:35' AND c2='33 9:23' /* no rows */; +INSERT INTO t1(c1,c2) VALUES('10:22:34','34 9:23') ON DUPLICATE KEY UPDATE c1='10:22:35',c2='33 9:23'; +SELECT * FROM t1 WHERE c1='10:22:35' AND c2='33 9:23' /* 1 row */; +SELECT * FROM t3 WHERE c1='32 9:23' AND c2='33 9:23' /* no rows */; +INSERT INTO t3(c1,c2) VALUES('34 9:23','34 9:23') ON DUPLICATE KEY UPDATE c1='32 9:23',c2='33 9:23'; +SELECT * FROM t3 WHERE c1='32 9:23' AND c2='33 9:23' /* 1 row */; + +# Test 'INSERT SET' +INSERT INTO t1 SET c1='07:23:55',c2='13 06:23:55'; +INSERT INTO t2 SET c1='07:23:55',c2='13 06:23:55'; +INSERT INTO t3 SET c1='07:23:55'; +INSERT IGNORE INTO t4 SET c2='07:23:55'; +SELECT * FROM t1 WHERE c1='07:23:55' AND c2='13 06:23:55' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t2 WHERE c1='07:23:55' AND c2='13 06:23:55' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t3 WHERE c1='07:23:55' /* Returns 1 row with values for other column as NULL */; +SELECT * FROM t4 WHERE c2='07:23:55' /* Returns 1 row with values for other column as NULL */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t5(c1 TIME NOT NULL, c2 TIME NULL, c3 DATE, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t4; +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT IGNORE INTO t5 SELECT * FROM t4 WHERE c1 >='12colon34colon56'; +SELECT * FROM t5; +TRUNCATE TABLE t5; +DROP TABLE t5; +DROP TABLE t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/insert_year.test b/mysql-test/suite/engines/iuds/t/insert_year.test new file mode 100644 index 00000000..4d92e36f --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/insert_year.test @@ -0,0 +1,1506 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running INSERT tests for YEAR(4) ######## + +# Create tables +CREATE TABLE t1(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 YEAR(4) NOT NULL, c2 YEAR(4) NULL, c3 DATE, c4 DATETIME); +# Insert some rows with targeted values + +# As a four-digit string in the range '1901' to '2155' +INSERT INTO t1 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t2 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t3 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t4 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-25','98.12.25 11:30:45'); + +# As a four-digit number in the range 1901 to 2155 +INSERT INTO t4 VALUES(1901,1901,'98-12-24','98.12.24 11:30:45'),(1999,1999,'98-12-23','98.12.23 11:30:45'),(2000,2000,'98-12-22','98.12.22 11:30:45'),(2001,2001,'98-12-21','98.12.21 11:30:45'),(2099,2099,'98-12-20','98.12.20 11:30:45'),(2100,2100,'98-12-19','98.12.19 11:30:45'),(2155,2155,'98-12-18','98.12.18 11:30:45'); + +# As a two-digit string in the range '00' to '99' +INSERT INTO t1 VALUES('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'); +INSERT INTO t2 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t3 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t4 VALUES('00','00','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','99','98-12-10','98.12.10 11:30:45'); + +# As a two-digit number in the range 1 to 99 +INSERT INTO t4 VALUES(1,1,'98-12-9','98.12.9 11:30:45'),(20,20,'98-12-8','98.12.8 11:30:45'),(40,40,'98-12-7','98.12.7 11:30:45'),(60,60,'98-12-6','98.12.6 11:30:45'),(69,69,'98-12-5','98.12.5 11:30:45'),(70,70,'98-12-4','98.12.4 11:30:45'),(90,90,'98-12-3','98.12.3 11:30:45'),(99,99,'98-12-2','98.12.2 11:30:45'); + +# As the result of a function +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT IGNORE INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT IGNORE INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT IGNORE INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT IGNORE INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); + +# Insert other valid year values one digit strings, '0', '000' +INSERT INTO t1(c1) VALUES('5'); +INSERT IGNORE INTO t2(c1) VALUES('5'); +INSERT INTO t3(c1) VALUES('5'); +INSERT INTO t4(c1,c2) VALUES('0','000'); + +# Insert invalid year values, outside range, would be converted to zero value +INSERT IGNORE INTO t2 VALUES(1900,2156,'08-01-06','08/01/07'); +INSERT IGNORE INTO t3 VALUES('1900','2156','08-01-08','08/1/9'); +INSERT IGNORE INTO t4 VALUES('1900','2156','08-01-08','08/1/9'),(1900,2156,'08-01-08','08/1/9'),(0,00,'08-01-08','08/1/9'),(000,000,'08-01-08','08/1/9'),('-20','100','08-01-08','08/1/9'),(-20,100,'08-01-08','08/1/9'); + +# Insert empty string '', would be converted to zero +INSERT IGNORE INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; + +# Insert non-date value(absurd values), would be converted to zero +INSERT IGNORE INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; + +# Insert duplicates for parts of the clustered key/unique index +INSERT INTO t2 VALUES('20','30','98-12-16','98.12.16 11:30:45'),('40','20','98-12-15','98.12.15 11:30:45'); +INSERT INTO t3 VALUES('00','20','98-12-17','98.12.17 11:30:45'),('20','40','98-12-10','98.12.10 11:30:45'); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES(80,NULL,'08-01-02','08/01/03'); + +# Insert duplicate NULLs to unique column +INSERT INTO t1(c1,c2) VALUES(1992,NULL); + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; + +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; + +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t3 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t3; +--sorted_result +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; + +# Using Index-merge +--sorted_result +SELECT * FROM t1 WHERE c1='1901' OR c2='2155'; +# Test Error conditions- PK constraint violation, Unique constraint violation + +# Insert duplicate value to pk column +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES(01,'99'); + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c2) VALUES(99,99); + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('2098',69); + +# Insert duplicate value to clustered unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t3(c1,c2) VALUES(00,00); + +# Test 'INSERT IGNORE' +# Ignore pk constraint +INSERT IGNORE INTO t1(c1,c2) VALUES(01,'99'); +INSERT IGNORE INTO t2(c1,c2) VALUES('1999','1999'); +# Ignore unique constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('2098','69'); +INSERT IGNORE INTO t3(c1,c2) VALUES(00,00); +SELECT * FROM t1 WHERE c1='01' /* Returns 1 row */; +SELECT * FROM t2 WHERE c1='1999' AND c2='1999' /* Returns 1 row */; +SELECT * FROM t1 WHERE c2='69' /* Returns 1 row */; +SELECT * FROM t3 WHERE c1=0 AND c2=0 /* Returns 1 row */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with PK one column/multi-column +SELECT * FROM t1 WHERE c1='02' /* Returns no rows */; +INSERT INTO t1(c1) VALUES('00') ON DUPLICATE KEY UPDATE c1='02'; +SELECT * FROM t1 WHERE c1='2002' /* Returns 1 row */; +SELECT * FROM t2 WHERE c1=69 AND c2=70 /* Returns no rows */; +INSERT INTO t2 VALUES(99,99,'98-12-20','98.12.20 11:30:45') ON DUPLICATE KEY UPDATE c1=69,c2=70; +SELECT * FROM t2 WHERE c1=2069 AND c2=1970 /* Returns 1 row */; +# Test 'INSERT ON DUPLICATE KEY UPDATE' with unique one column/multi-column +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns no rows */; +INSERT INTO t1 VALUES(69,69,'98-12-18','98.12.18 11:30:45') ON DUPLICATE KEY UPDATE c1=54,c2=53; +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns 1 row */; +SELECT * FROM t3 WHERE c1=6 AND c2=1970 /* Returns no rows */; +INSERT INTO t3(c1,c2) VALUES('69','69') ON DUPLICATE KEY UPDATE c1=06,c2=70; +SELECT * FROM t3 WHERE c1=2006 AND c2=1970 /* Returns 1 row */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t5(c1 YEAR NOT NULL, c2 YEAR NULL, c3 DATE, c4 DATETIME, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >=1970 AND c1 < 1999 AND c2 <> '1990'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND '2155'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +DROP TABLE t5; + +# Test 'INSERT SET' +INSERT INTO t1 SET c1='00'; +INSERT IGNORE INTO t2 SET c1=69; +INSERT INTO t3 SET c1=70; +INSERT IGNORE INTO t4 SET c2=99; +--sorted_result +SELECT * FROM t1 WHERE c1=0; +--sorted_result +SELECT * FROM t2 WHERE c1=69; +--sorted_result +SELECT * FROM t3 WHERE c1=70; +--sorted_result +SELECT * FROM t4 WHERE c2=99; +DROP TABLE t1,t2,t3,t4; + +######## Running INSERT tests for YEAR(2) ######## + +# Create tables +CREATE TABLE t1(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1), UNIQUE INDEX(c2)); +CREATE TABLE t2(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 YEAR(2) NOT NULL, c2 YEAR(2) NULL, c3 DATE, c4 DATETIME); +# Insert some rows with targeted values + +# As a four-digit string in the range '1901' to '2155' +INSERT INTO t1 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t2 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t3 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-26','98.12.26 11:30:45'); +INSERT INTO t4 VALUES('1901','1901','98-12-31','98.12.31 11:30:45'),('1999','1999','98-12-30','98.12.30 11:30:45'),('2000','2000','98-12-29','98.12.29 11:30:45'),('2001','2001','98-12-28','98.12.28 11:30:45'),('2099','2099','98-12-27','98.12.27 11:30:45'),('2100','2100','98-12-26','98.12.26 11:30:45'),('2155','2155','98-12-25','98.12.25 11:30:45'); + +# As a four-digit number in the range 1901 to 2155 +INSERT INTO t4 VALUES(1901,1901,'98-12-24','98.12.24 11:30:45'),(1999,1999,'98-12-23','98.12.23 11:30:45'),(2000,2000,'98-12-22','98.12.22 11:30:45'),(2001,2001,'98-12-21','98.12.21 11:30:45'),(2099,2099,'98-12-20','98.12.20 11:30:45'),(2100,2100,'98-12-19','98.12.19 11:30:45'),(2155,2155,'98-12-18','98.12.18 11:30:45'); + +# As a two-digit string in the range '00' to '99' +INSERT INTO t1 VALUES('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'); +INSERT INTO t2 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t3 VALUES('00','10','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','98','98-12-10','98.12.10 11:30:45'); +INSERT INTO t4 VALUES('00','00','98-12-17','98.12.17 11:30:45'),('20','20','98-12-16','98.12.16 11:30:45'),('40','40','98-12-15','98.12.15 11:30:45'),('60','60','98-12-14','98.12.14 11:30:45'),('69','69','98-12-13','98.12.13 11:30:45'),('70','70','98-12-12','98.12.12 11:30:45'),('90','90','98-12-11','98.12.11 11:30:45'),('99','99','98-12-10','98.12.10 11:30:45'); + +# As a two-digit number in the range 1 to 99 +INSERT INTO t4 VALUES(1,1,'98-12-9','98.12.9 11:30:45'),(20,20,'98-12-8','98.12.8 11:30:45'),(40,40,'98-12-7','98.12.7 11:30:45'),(60,60,'98-12-6','98.12.6 11:30:45'),(69,69,'98-12-5','98.12.5 11:30:45'),(70,70,'98-12-4','98.12.4 11:30:45'),(90,90,'98-12-3','98.12.3 11:30:45'),(99,99,'98-12-2','98.12.2 11:30:45'); + +# As the result of a function +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT IGNORE INTO t1 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT IGNORE INTO t2 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT IGNORE INTO t3 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); +INSERT IGNORE INTO t4 VALUES(NOW(),CURRENT_DATE,NOW(),CURRENT_DATE); + +# Insert other valid year values one digit strings, '0', '000' +INSERT INTO t1(c1) VALUES('5'); +INSERT IGNORE INTO t2(c1) VALUES('5'); +INSERT INTO t3(c1) VALUES('5'); +INSERT INTO t4(c1,c2) VALUES('0','000'); + +# Insert invalid year values, outside range, would be converted to zero value +INSERT IGNORE INTO t2 VALUES(1900,2156,'08-01-06','08/01/07'); +INSERT IGNORE INTO t3 VALUES('1900','2156','08-01-08','08/1/9'); +INSERT IGNORE INTO t4 VALUES('1900','2156','08-01-08','08/1/9'),(1900,2156,'08-01-08','08/1/9'),(0,00,'08-01-08','08/1/9'),(000,000,'08-01-08','08/1/9'),('-20','100','08-01-08','08/1/9'),(-20,100,'08-01-08','08/1/9'); + +# Insert empty string '', would be converted to zero +INSERT IGNORE INTO t1 VALUES('','','08-01-04','08/01/05') /* Inserts zero dates for '' strings */; + +# Insert non-date value(absurd values), would be converted to zero +INSERT IGNORE INTO t4 VALUES('abcd','abcd','08-01-10','08/01/11'),(1234,1234,'08-01-12','08/01/13') /* Inserts zero dates for absurd dates */; + +# Insert duplicates for parts of the clustered key/unique index +INSERT INTO t2 VALUES('20','30','98-12-16','98.12.16 11:30:45'),('40','20','98-12-15','98.12.15 11:30:45'); +INSERT INTO t3 VALUES('00','20','98-12-17','98.12.17 11:30:45'),('20','40','98-12-10','98.12.10 11:30:45'); + +# Insert permissible NULLs +INSERT INTO t1 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t3 VALUES(80,NULL,'08-01-02','08/01/03'); +INSERT INTO t4 VALUES(80,NULL,'08-01-02','08/01/03'); + +# Insert duplicate NULLs to unique column +INSERT INTO t1(c1,c2) VALUES(1992,NULL); + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '1901' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 > '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 < '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <= '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '1901' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '1901' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('1901','2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '1901' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 = '10' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <> '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 < '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> '10' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 BETWEEN '10' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN ('10','2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= '10' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = 2155 ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN '1970' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN ('1970',2155) ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= '1970' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t2; +--sorted_result +SELECT * FROM t2 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t2; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t2 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t2 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '1970' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '1970' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN '1970' AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN ('1970','2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '1970' AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 = '69' ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <> '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 > '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 < '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <= '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 <=> '69' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 BETWEEN 69 AND '2020' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IN (69,'2020') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 >= 69 AND c1 < '2020' AND c2 = '2009' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c1 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = 2000 ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> 2000 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND 2155 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN ('2000',2155) ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= '2000' AND c2 < 2155 AND c1 = '1999' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; +## Full table scan ## +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3; +--sorted_result +SELECT * FROM t3 WHERE c3 = '1998-12-11'; + +## Forward index scan, covering ## +--sorted_result +SELECT c1,c2 FROM t3; + +## Backward index scan, covering ## +SELECT c1,c2 FROM t3 ORDER BY c1,c2 DESC; + +## Forward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 LIMIT 2; + +## Backward index scan, non-covering ## +SELECT * FROM t3 ORDER BY c1,c2 DESC LIMIT 2; + +## ref type access +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 = NULL ORDER BY c1,c2 DESC LIMIT 2; + +## Range access, ordered ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 LIMIT 2; + +## Range access, backwards scan ## +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 > NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 < NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <= NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 <=> NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 BETWEEN NULL AND '2069' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IN (NULL,'2069') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 >= NULL AND c2 < '2069' AND c1 = '2000' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NULL ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC; +SELECT * FROM t3 WHERE c2 IS NOT NULL ORDER BY c1,c2 DESC LIMIT 2; + +# Using index for group-by +--sorted_result +SELECT c1 FROM t3 GROUP BY c1; +--sorted_result +SELECT DISTINCT c1 FROM t3; +--sorted_result +SELECT c1,MIN(c2) FROM t3 GROUP BY c1; + +# Using Index-merge +--sorted_result +SELECT * FROM t1 WHERE c1='1901' OR c2='2155'; +# Test Error conditions- PK constraint violation, Unique constraint violation + +# Insert duplicate value to pk column +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES(01,'99'); + +# Insert duplicate value to clustered pk, throws error +--error ER_DUP_ENTRY +INSERT INTO t2(c1,c2) VALUES(99,99); + +# Insert duplicate value to unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t1(c1,c2) VALUES('2098',69); + +# Insert duplicate value to clustered unique column, throws error +--error ER_DUP_ENTRY +INSERT INTO t3(c1,c2) VALUES(00,00); + +# Test 'INSERT IGNORE' +# Ignore pk constraint +INSERT IGNORE INTO t1(c1,c2) VALUES(01,'99'); +INSERT IGNORE INTO t2(c1,c2) VALUES('1999','1999'); +# Ignore unique constraint +INSERT IGNORE INTO t1(c1,c2) VALUES('2098','69'); +INSERT IGNORE INTO t3(c1,c2) VALUES(00,00); +SELECT * FROM t1 WHERE c1='01' /* Returns 1 row */; +SELECT * FROM t2 WHERE c1='1999' AND c2='1999' /* Returns 1 row */; +SELECT * FROM t1 WHERE c2='69' /* Returns 1 row */; +SELECT * FROM t3 WHERE c1=0 AND c2=0 /* Returns 1 row */; + +# Test 'INSERT ON DUPLICATE KEY UPDATE' with PK one column/multi-column +SELECT * FROM t1 WHERE c1='02' /* Returns no rows */; +INSERT INTO t1(c1) VALUES('00') ON DUPLICATE KEY UPDATE c1='02'; +SELECT * FROM t1 WHERE c1='2002' /* Returns 1 row */; +SELECT * FROM t2 WHERE c1=69 AND c2=70 /* Returns no rows */; +INSERT INTO t2 VALUES(99,99,'98-12-20','98.12.20 11:30:45') ON DUPLICATE KEY UPDATE c1=69,c2=70; +SELECT * FROM t2 WHERE c1=2069 AND c2=1970 /* Returns 1 row */; +# Test 'INSERT ON DUPLICATE KEY UPDATE' with unique one column/multi-column +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns no rows */; +INSERT INTO t1 VALUES(69,69,'98-12-18','98.12.18 11:30:45') ON DUPLICATE KEY UPDATE c1=54,c2=53; +SELECT * FROM t1 WHERE c1=54 AND c2=53 /* Returns 1 row */; +SELECT * FROM t3 WHERE c1=6 AND c2=1970 /* Returns no rows */; +INSERT INTO t3(c1,c2) VALUES('69','69') ON DUPLICATE KEY UPDATE c1=06,c2=70; +SELECT * FROM t3 WHERE c1=2006 AND c2=1970 /* Returns 1 row */; + +# Test 'INSERT INTO SELECT FROM' +CREATE TABLE t5(c1 YEAR NOT NULL, c2 YEAR NULL, c3 DATE, c4 DATETIME, INDEX idx(c1,c2)); +INSERT INTO t5 SELECT * FROM t1; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t2 WHERE c1 >=1970 AND c1 < 1999 AND c2 <> '1990'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +INSERT INTO t5 SELECT * FROM t3 WHERE c2 BETWEEN '2000' AND '2155'; +--sorted_result +SELECT * FROM t5; +TRUNCATE TABLE t5; +DROP TABLE t5; + +# Test 'INSERT SET' +INSERT INTO t1 SET c1='00'; +INSERT IGNORE INTO t2 SET c1=69; +INSERT INTO t3 SET c1=70; +INSERT IGNORE INTO t4 SET c2=99; +--sorted_result +SELECT * FROM t1 WHERE c1=0; +--sorted_result +SELECT * FROM t2 WHERE c1=69; +--sorted_result +SELECT * FROM t3 WHERE c1=70; +--sorted_result +SELECT * FROM t4 WHERE c2=99; +DROP TABLE t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/sample.txt b/mysql-test/suite/engines/iuds/t/sample.txt new file mode 100644 index 00000000..45d36053 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/sample.txt @@ -0,0 +1,500 @@ +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. +This is a sample text. diff --git a/mysql-test/suite/engines/iuds/t/strings_charsets_update_delete.test b/mysql-test/suite/engines/iuds/t/strings_charsets_update_delete.test new file mode 100644 index 00000000..a648af6d --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/strings_charsets_update_delete.test @@ -0,0 +1,134 @@ +--disable_warnings +--enable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18; + +######## Running UPDATE tests ######## + +#Test for latin1 character set +CREATE TABLE t5(c1 CHAR(1) CHARACTER SET latin1); +# Insert some targeted values for latin1 character set; borrowing from ctype_latin.test in the main suite +eval INSERT INTO t5 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07); +eval INSERT INTO t5 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F); +eval INSERT INTO t5 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17); +eval INSERT INTO t5 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F); +eval INSERT INTO t5 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27); +eval INSERT INTO t5 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F); +eval INSERT INTO t5 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37); +eval INSERT INTO t5 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F); +eval INSERT INTO t5 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47); +eval INSERT INTO t5 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F); +eval INSERT INTO t5 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57); +eval INSERT INTO t5 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F); +eval INSERT INTO t5 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67); +eval INSERT INTO t5 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F); +eval INSERT INTO t5 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77); +eval INSERT INTO t5 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F); +eval INSERT INTO t5 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87); +eval INSERT INTO t5 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F); +eval INSERT INTO t5 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97); +eval INSERT INTO t5 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F); +eval INSERT INTO t5 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7); +eval INSERT INTO t5 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF); +eval INSERT INTO t5 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7); +eval INSERT INTO t5 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF); +eval INSERT INTO t5 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7); +eval INSERT INTO t5 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF); +eval INSERT INTO t5 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7); +eval INSERT INTO t5 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF); +eval INSERT INTO t5 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7); +eval INSERT INTO t5 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF); +eval INSERT INTO t5 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7); +eval INSERT INTO t5 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF); +SELECT c1 FROM t5; +CREATE TABLE t6 (a char(1) character set latin2); +INSERT INTO t6 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27); +INSERT INTO t6 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F); +INSERT INTO t6 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37); +INSERT INTO t6 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F); +INSERT INTO t6 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47); +INSERT INTO t6 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F); +INSERT INTO t6 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57); +INSERT INTO t6 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F); +INSERT INTO t6 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67); +INSERT INTO t6 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F); +INSERT INTO t6 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77); +INSERT INTO t6 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F); +INSERT INTO t6 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87); +INSERT INTO t6 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F); +INSERT INTO t6 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97); +INSERT INTO t6 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F); +INSERT INTO t6 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7); +INSERT INTO t6 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF); +INSERT INTO t6 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7); +INSERT INTO t6 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF); +INSERT INTO t6 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7); +INSERT INTO t6 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF); +INSERT INTO t6 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7); +INSERT INTO t6 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF); +INSERT INTO t6 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7); +INSERT INTO t6 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF); +INSERT INTO t6 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7); +INSERT INTO t6 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF); +SELECT c1 FROM t5; +#Table to test for ascii character set +set names ascii; +select 'e'='`'; +select 'y'='~'; +CREATE TABLE t7(a CHAR(1) CHARACTER SET ascii); +# Insert some targeted values for ascii character set; borrowing from ctype_ascii.test in the main suite + insert into t7 (a) values (' '), ('a'), ('b'), ('c'), ('d'), ('e'), ('f'), ('g'), ('h'), ('i'), ('j'), ('k'), ('l'), ('m'), ('n'), ('o'), ('p'), ('q'), ('r'), ('s'), ('t'), ('u'), ('v'), ('w'), ('x'), ('y'), ('z'), ('A'), ('B'), ('C'), ('D'), ('E'), ('F'), ('G'), ('H'), ('I'), ('J'), ('K'), ('L'), ('M'), ('N'), ('O'), ('P'), ('Q'), ('R'), ('S'), ('T'), ('U'), ('V'), ('W'), ('X'), ('Y'), ('Z'), ('!'), ('@'), ('#'), ('$'), ('%'), ('^'), ('&'), ('*'), ('('), (')'), ('_'), ('+'), ('`'), ('~'), ('1'), ('2'), ('3'), ('4'), ('5'), ('6'), ('7'), ('8'), ('9'), ('0'), ('['), (']'), ('\\'), ('|'), ('}'), ('{'), ('"'), (':'), (''''), (';'), ('/'), ('.'), (','), ('?'), ('>'), ('<'), ('\n'), ('\t'), ('\a'), ('\f'), ('\v'); +SELECT t7a.a, t7b.a FROM t7 as t7a, t7 as t7b WHERE t7a.a=t7b.a ORDER BY BINARY t7a.a, BINARY t7b.a; + UPDATE t7 SET a=CHAR(ASCII(a)+32) WHERE ASCII(a) >= 65 AND ASCII(a) <= 90; + UPDATE t7 SET a=CHAR(ASCII(a)-32) WHERE ASCII(a) >= 97 AND ASCII(a) <= 122; +SELECT a,HEX(a) FROM t7; +#Tests for utf8 character set +CREATE TABLE t8 (a char(10) character set utf8 not null); +INSERT INTO t8 VALUES ('a'),('a\0'),('a\t'),('a '); +SELECT hex(a),STRCMP(a,'a'), STRCMP(a,'a ') FROM t8; +DROP TABLE t8; +CREATE TABLE t8(a VARCHAR(255), KEY(a)) DEFAULT CHARSET=utf8; +eval INSERT INTO t8 VALUES('uUABCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'); +INSERT INTO t8 VALUES('uu'); +check table t8; +INSERT INTO t8 VALUES('uU'); +check table t8; +INSERT INTO t8 VALUES('uu'); +check table t8; +INSERT INTO t8 VALUES('uuABC'); +check table t8; +INSERT INTO t8 VALUES('UuABC'); +check table t8; +INSERT INTO t8 VALUES('uuABC'); +check table t8; +alter table t8 add b int; +INSERT INTO t8 VALUES('BCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1); +INSERT INTO t8 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',2); +delete from t8 where b=1; +INSERT INTO t8 VALUES('UUABCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1); +check table t8; +INSERT INTO t8 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3); +INSERT INTO t8 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',4); +delete from t8 where b=3; +INSERT INTO t8 VALUES('uUABCDEFGHIGKLMNOPRSTUVWXYZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3); +check table t8; +UPDATE t8 SET a=REPEAT('Z',255) WHERE a LIKE 'uu%'; +SELECT a,LENGTH(a) FROM t8; +drop table t8; +SET collation_connection = 'utf8_general_ci'; +CREATE TABLE t8 (c1 TEXT character set utf8 collate utf8_general_ci); +insert into t8 values (repeat('बांगà¥à¤²à¤¾à¤¦à¥‡',1200)); +insert into t8 values ('রবীনà§à¦¦à§à¦°à¦¨à¦¾à¦¥ ঠাকà§à¦°'); +insert into t8 values (LOAD_FILE('$MYSQLTEST_VARDIR/hindi.txt')); +ALTER TABLE t8 ADD c2 TEXT CHARACTER SET utf8 collate utf8_general_ci DEFAULT NULL; +INSERT INTO t8 values (repeat('রবীনà§à¦¦à§à¦°à¦¨à¦¾à¦¥ ঠাকà§à¦°',1300),''); +ALTER TABLE t8 ADD INDEX(c1(18)); +UPDATE t8 SET c2='यह हिनà¥à¤¦à¥€ में à¤à¤• अलग वाकà¥à¤¯ है. यह à¤à¤• अलग कॉलम में जोड़ा जा रहा है' WHERE c2=NULL; +SELECT length(c1),c1, length(c2),c2 FROM t8; +SELECT length(c1),c1, length(c2),c2 FROM t8 WHERE c1 LIKE _utf8 'রবীন%' COLLATE utf8_general_ci ; +ALTER TABLE t8 ADD INDEX(c1(18),c2(10)); +SELECT length(c1),c1, length(c2),c2 FROM t8 WHERE c1 LIKE _utf8 'রবীন%' COLLATE utf8_general_ci OR c2 LIKE _utf8 'जग' COLLATE utf8_general_ci; +UPDATE t8 SET c1= REPEAT('৯',12000); +SELECT length(c1),length(c2) FROM t8; +DROP TABLE t8; +SET collation_connection = default; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18; diff --git a/mysql-test/suite/engines/iuds/t/strings_update_delete.test b/mysql-test/suite/engines/iuds/t/strings_update_delete.test new file mode 100644 index 00000000..736439ca --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/strings_update_delete.test @@ -0,0 +1,146 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18; +--enable_warnings + +######## Running UPDATE tests ######## + +# Generic tables with mixed field types and sizes +CREATE TABLE t1(c1 CHAR(255), c2 TEXT); +eval INSERT INTO t1 VALUES(REPEAT('abcdef',40), REPEAT('1',65535)); +eval INSERT INTO t1 VALUES(REPEAT('abc',80), REPEAT('2',65533)); +eval INSERT INTO t1 VALUES(REPEAT('\t',255), REPEAT('3',65534)); +UPDATE t1 SET c1=REPEAT('\n',255) WHERE c1=REPEAT('\t',255); +--sorted_result +SELECT LENGTH(c1),LENGTH(c2),CHAR_LENGTH(c2) FROM t1; +--sorted_result +SELECT c1, c2 FROM t1 where c1= REPEAT('\n',255); +#--warning 1265 +UPDATE t1 SET c1=REPEAT('xyz',85), c2=REPEAT(c1, 100) ORDER by c1 LIMIT 2; +SHOW WARNINGS; + +--sorted_result +SELECT LENGTH(c2) FROM t1 WHERE c2 LIKE 'xyz%'; +--sorted_result +SELECT LENGTH(c1),LENGTH(c2),CHAR_LENGTH(c2) FROM t1; +--sorted_result +SELECT c1, c2 FROM t1; +--disable_query_log +eval INSERT INTO t1 VALUES(REPEAT('\0',255),LOAD_FILE('$MYSQLTEST_VARDIR/sample.txt')); +--enable_query_log +ALTER TABLE t1 MODIFY c1 TEXT; +UPDATE t1 SET c1=LOAD_FILE('$MYSQLTEST_VARDIR/temp.txt') LIMIT 2; +SHOW WARNINGS; +UPDATE t1 SET c1=NULL WHERE c1 LIKE 'xyz%'; +DELETE FROM t1 LIMIT 1; +DELETE FROM t1 WHERE c1 NOT LIKE 'xyz%' LIMIT 1; +--sorted_result +SELECT length(c1), c1, length(c2), c2 FROM t1; +CREATE TABLE t2(c1 BLOB, c2 TINYBLOB, c3 TEXT); +eval INSERT INTO t2 VALUES(REPEAT('1',65535),REPEAT('a',254),REPEAT('d',65534 )); +eval INSERT INTO t2 VALUES(REPEAT('2',65534),REPEAT('b',253),REPEAT('e',65535 )); +eval INSERT INTO t2 VALUES(REPEAT('3',65533),REPEAT('c',255),REPEAT('f',65533)); +--sorted_result +SELECT c1,c2 FROM t2; +let $i=100; +while($i){ +let $j=100; +while($j){ +eval INSERT INTO t2 VALUES('abcde\t \t fgh \n\n ', ' sdsdsd',NULL); +dec $j; +} +dec $i; +} +--sorted_result +SELECT length(c1),c1, length(c2),c2, length(c3), c3 FROM t2; +UPDATE t2 SET c3='Not NULL' WHERE c3=NULL; +--sorted_result +SELECT length(c1),c1, length(c2),c2, length(c3), c3 FROM t2; + # Multi-table updates/deletes + CREATE TABLE t3 (c1 CHAR(10), c2 CHAR(100)); + INSERT INTO t3 VALUES ('AS','Axel Soa'), ('AK','Axle Kora'), ('HH','Hulk Hogan'); + CREATE TABLE t4 (c1 CHAR(10), c2 CHAR(100)); + INSERT INTO t4 VALUES ('AS','#100, Avenue, UK'), ('AK','#101, Avenue, US'), ('HH','#103, Avenu MT'); + UPDATE t4 SET c2='#102, Avennue MT' WHERE c1='HH'; +--sorted_result +SELECT LENGTH(c1), c1 , LENGTH(c2),c2 FROM t4; +DELETE FROM t3 USING t3,t4 WHERE t3.c1='AS' AND t3.c1=t4.c1 ; +--sorted_result +SELECT length(c1), c1, length(c2), c2 FROM t3; + DROP TABLE t3,t4; + CREATE TABLE t3 (id int(11) NOT NULL default '0',name varchar(10) default NULL,PRIMARY KEY (id)) ; + INSERT INTO t3 VALUES (1, 'aaa'),(2,'aaa'),(3,'aaa'); + CREATE TABLE t4 (id int(11) NOT NULL default '0',name varchar(10) default NULL, PRIMARY KEY (id)) ; + INSERT INTO t4 VALUES (2,'bbb'),(3,'bbb'),(4,'bbb'); + CREATE TABLE t5 (id int(11) NOT NULL default '0', mydate datetime default NULL,PRIMARY KEY (id)); +INSERT INTO t5 VALUES (1,'2002-02-04 00:00:00'),(3,'2002-05-12 00:00:00'),(5,'2002-05-12 00:00:00'),(6,'2002-06-22 00:00:00'),(7,'2002-07-22 00:00:00'); +delete t3,t4,t5 from t3,t4,t5 where to_days(now())-to_days(t5.mydate)>=30 and t5.id=t3.id and t5.id=t4.id; +select * from t5; +DROP TABLE t3,t4,t5; +CREATE TABLE t6 (a char(2) not null primary key, b varchar(20) not null, key (b)); +CREATE TABLE t7 (a char(2) not null primary key, b varchar(20) not null, key (b)); +INSERT INTO t6 values ('AB','MySQLAB'),('JA','Sun Microsystems'),('MS','Microsoft'),('IB','IBM- Inc.'),('GO','Google Inc.'); +INSERT IGNORE INTO t7 values ('AB','Sweden'),('JA','USA'),('MS','United States of Amercica'),('IB','North America'),('GO','South America'); +update t6,t7 set t6.a=LCASE(t6.a); +--sorted_result +select * from t6; +update t6,t7 set t6.a=UCASE(t6.a) where t6.a='AB'; +--sorted_result +select * from t6; +update t6,t7 set t6.b=UPPER(t6.b) where t6.b LIKE 'United%'; +--sorted_result +select * from t7; +update t6,t7 set t6.b=UPPER(t6.b),t7.b=LOWER(t7.b) where LENGTH(t6.b) between 3 and 5 and t7.a=LOWER(t6.a); +--sorted_result +select * from t6; +--sorted_result +select * from t7; +drop table t6,t7; + # Test for some STRING functions on TEXT columns +CREATE TABLE t12(c1 TINYTEXT, c2 TEXT, c3 MEDIUMTEXT, c4 LONGTEXT); +eval INSERT INTO t12 values (" This is a test ","\0 \0 for STRING","functions available \t in", " \t\t MySQL " ); +eval UPDATE t12 SET c1="This is a update test!" WHERE c2 LIKE "\0%"; +--sorted_result +SELECT LENGTH(c1),LENGTH(c2),LENGTH(c3),LENGTH(c4) FROM t12; +--sorted_result +SELECT LEFT(c1,5),LEFT(c2,5),LEFT(c3,5),LEFT(c4,5) FROM t12; +--sorted_result +SELECT RTRIM(c1),RTRIM(c2),RTRIM(c3),RTRIM(c4) FROM t12; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3),HEX(c4) FROM t12; +--sorted_result +SELECT REVERSE(c1),REVERSE(c2),REVERSE(c3),REVERSE(c4) FROM t12; +DELETE FROM t12 WHERE C1 LIKE "%update%"; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3),HEX(c4) FROM t12; +# Test for SET datatype +CREATE TABLE t16 (c1 SET('a', 'b', 'c', 'd', 'e')); +eval INSERT INTO t16 VALUES (('d,a,d,d')); +--sorted_result +SELECT c1 FROM t16; +eval INSERT IGNORE INTO t16 (c1) VALUES ('a,b,d'),('d,A ,b'); +--sorted_result +SELECT c1 FROM t16; +#--warning WARN_DATA_TRUNCATED +eval INSERT IGNORE INTO t16 (c1) VALUES ('f,a,b'); +SHOW WARNINGS; +--sorted_result +SELECT c1 FROM t16; +#--warning ER_DUPLICATED_VALUE_IN_TYPE +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +CREATE TABLE t17 (c1 SET('a','b','a','b')); +SHOW WARNINGS; +# Tests for ENUM datatype +# Invalid ENUM value insert behavior +CREATE TABLE t18 (c1 CHAR(4),c2 enum('SMALL','MEDIUM','LARGE','VERY LARGE')); +eval INSERT INTO t18 VALUES('SIZE', 'SMALL'); +eval INSERT IGNORE INTO t18 VALUES('SIZE', 'SMALL1'); +--sorted_result +SELECT * FROM t18 WHERE c2=0; + EXPLAIN SELECT * FROM t18 WHERE c2=0; +eval SET sql_mode= 'STRICT_ALL_TABLES'; +--error 1265 +eval INSERT INTO t18 VALUES('SIZE','SMALL2'); +--sorted_result +SELECT * FROM t18 WHERE c2=0; + DROP TABLE t17,t18; +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18; diff --git a/mysql-test/suite/engines/iuds/t/type_bit_iuds.test b/mysql-test/suite/engines/iuds/t/type_bit_iuds.test new file mode 100644 index 00000000..8f48d50f --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/type_bit_iuds.test @@ -0,0 +1,18324 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +--enable_warnings + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'0'; +SELECT 0 + (0<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'0'); +INSERT INTO t2 VALUES (b'0', b'0', b'0'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1'; +SELECT 0 + (1<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1'); +INSERT INTO t2 VALUES (b'1', b'1', b'1'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10'); +INSERT IGNORE INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10'); +INSERT IGNORE INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'10'; +SELECT 0 + (10<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'10'); +INSERT INTO t2 VALUES (b'10', b'10', b'10'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010'); +INSERT IGNORE INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010'); +INSERT IGNORE INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010'); +INSERT IGNORE INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010'; +SELECT 0 + (1010<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010'); +INSERT INTO t2 VALUES (b'1010', b'1010', b'1010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'1010101010101010'; +SELECT 0 + (1010101010101010<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010', b'1010101010101010', b'1010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +SELECT 0 + b'101010101010101010101010101010'; +SELECT 0 + (101010101010101010101010101010<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'101010101010101010101010101010'); +INSERT INTO t2 VALUES (b'101010101010101010101010101010', b'101010101010101010101010101010', b'101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT IGNORE INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output on different platforms +#SELECT 0 + b'1010101010101010101010101010101010101010101010101010101010101010'; +SELECT 0 + (1010101010101010101010101010101010101010101010101010101010101010<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT INTO t1 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010'); +INSERT INTO t2 VALUES (b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010', b'1010101010101010101010101010101010101010101010101010101010101010'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<0); +######### INSERT/SELECT######### + +#### Insert and select 0 bit data into the table#### +CREATE TABLE t1(c1 BIT(0)); +CREATE TABLE t2(c1 BIT(0), c2 BIT(0), c3 BIT(0)); +let $i=0; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(0) NOT NULL PRIMARY KEY, c2 BIT(0)); +CREATE TABLE t6(c1 BIT(0), c2 BIT(0)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '0' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '0' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '0' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '0' AND c1 < '64' AND c2 = '0' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(0)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<1); +######### INSERT/SELECT######### + +#### Insert and select 1 bit data into the table#### +CREATE TABLE t1(c1 BIT(1)); +CREATE TABLE t2(c1 BIT(1), c2 BIT(1), c3 BIT(1)); +let $i=1; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT IGNORE INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(1) NOT NULL PRIMARY KEY, c2 BIT(1)); +CREATE TABLE t6(c1 BIT(1), c2 BIT(1)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '1' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '1' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '1' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '1' AND c1 < '64' AND c2 = '1' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(1)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<2); +######### INSERT/SELECT######### + +#### Insert and select 2 bit data into the table#### +CREATE TABLE t1(c1 BIT(2)); +CREATE TABLE t2(c1 BIT(2), c2 BIT(2), c3 BIT(2)); +let $i=2; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(2) NOT NULL PRIMARY KEY, c2 BIT(2)); +CREATE TABLE t6(c1 BIT(2), c2 BIT(2)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '2' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '2' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '2' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '2' AND c1 < '64' AND c2 = '2' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(2)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT IGNORE INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<4); +######### INSERT/SELECT######### + +#### Insert and select 4 bit data into the table#### +CREATE TABLE t1(c1 BIT(4)); +CREATE TABLE t2(c1 BIT(4), c2 BIT(4), c3 BIT(4)); +let $i=4; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(4) NOT NULL PRIMARY KEY, c2 BIT(4)); +CREATE TABLE t6(c1 BIT(4), c2 BIT(4)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '4' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '4' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '4' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '4' AND c1 < '64' AND c2 = '4' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(4)); +INSERT IGNORE INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE IGNORE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE IGNORE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE IGNORE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<8); +######### INSERT/SELECT######### + +#### Insert and select 8 bit data into the table#### +CREATE TABLE t1(c1 BIT(8)); +CREATE TABLE t2(c1 BIT(8), c2 BIT(8), c3 BIT(8)); +let $i=8; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(8) NOT NULL PRIMARY KEY, c2 BIT(8)); +CREATE TABLE t6(c1 BIT(8), c2 BIT(8)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '8' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'8' ORDER BY c1 DESC LIMIT 2 ; + +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '8' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '8' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '8' AND c1 < '64' AND c2 = '8' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(8)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE IGNORE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE IGNORE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE IGNORE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT IGNORE INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<16); +######### INSERT/SELECT######### + +#### Insert and select 16 bit data into the table#### +CREATE TABLE t1(c1 BIT(16)); +CREATE TABLE t2(c1 BIT(16), c2 BIT(16), c3 BIT(16)); +let $i=16; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(16) NOT NULL PRIMARY KEY, c2 BIT(16)); +CREATE TABLE t6(c1 BIT(16), c2 BIT(16)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '16' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '16' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '16' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '16' AND c1 < '64' AND c2 = '16' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(16)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<32); +######### INSERT/SELECT######### + +#### Insert and select 32 bit data into the table#### +CREATE TABLE t1(c1 BIT(32)); +CREATE TABLE t2(c1 BIT(32), c2 BIT(32), c3 BIT(32)); +let $i=32; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--sorted_result +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--sorted_result +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(32) NOT NULL PRIMARY KEY, c2 BIT(32)); +CREATE TABLE t6(c1 BIT(32), c2 BIT(32)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '32' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '32' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '32' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '32' AND c1 < '64' AND c2 = '32' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(32)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE IGNORE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + +####Checking the bit values#### +# Produces different output for different platform +#SELECT 0 + b'10101010101010101010101010101010101010101010101010101010101010101'; +SELECT 0 + (10101010101010101010101010101010101010101010101010101010101010101<<64); +######### INSERT/SELECT######### + +#### Insert and select 64 bit data into the table#### +CREATE TABLE t1(c1 BIT(64)); +CREATE TABLE t2(c1 BIT(64), c2 BIT(64), c3 BIT(64)); +let $i=64; +while($i){ +let $j=$i/2; +eval set @v1=$i; +eval set @v2=$j; +set @v3=repeat('1',@v1); +let $STR0= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR0'); +set @v3=repeat('0',@v1); +let $STR1= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR1'); +set @v3=repeat('01',@v2); +let $STR2= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR2'); +set @v3=repeat('10',@v2); +let $STR3= query_get_value(select @v3 as I,I,1); +eval INSERT INTO t1 VALUES (b'$STR3'); +set @v3=repeat('1',@v1); +set @v4=repeat('01',@v2); +set @v5=repeat('10',@v2); +let $STR0= query_get_value(select @v3 as I,I,1); +let $STR2= query_get_value(select @v4 as I,I,1); +let $STR3= query_get_value(select @v5 as I,I,1); +eval INSERT IGNORE INTO t2 VALUES ("b'$STR0'","b'$STR2","b'$STR3'"); +dec $i; +} +INSERT IGNORE INTO t1 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101'); +INSERT IGNORE INTO t2 VALUES (b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101', b'10101010101010101010101010101010101010101010101010101010101010101'); +--sorted_result +SELECT HEX(c1) FROM t1; +--sorted_result +SELECT HEX(c1),HEX(c2),HEX(c3) FROM t2; +--sorted_result +SELECT OCT(c1) FROM t1; +--sorted_result +SELECT OCT(c1),OCT(c2),OCT(c3) FROM t2; +--sorted_result +SELECT BIN(c1) FROM t1; +--sorted_result +SELECT BIN(c1),BIN(c2),BIN(c3) FROM t2; +--sorted_result +SELECT HEX(c1),OCT(c2),BIN(c3) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT HEX(c1+0),HEX(c2+1),HEX(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT OCT(c1+0),OCT(c2+1),OCT(c3+2) FROM t2; +--error ER_DATA_OUT_OF_RANGE +SELECT BIN(c1+0),BIN(c2+1),BIN(c3+2) FROM t2; +--sorted_result +SELECT CONCAT(HEX(c1),HEX(c2),HEX(c3)) FROM t2; +--sorted_result +SELECT CONCAT(OCT(c1),OCT(c2),OCT(c3)) FROM t2; +--sorted_result +SELECT CONCAT(BIN(c1),BIN(c2),BIN(c3)) FROM t2; +--error 1439 +CREATE TABLE t3 (c1 BIT(65)); +# Checking for bug #9571 +CREATE TABLE t4(i INT, b BIT NOT NULL); +ALTER TABLE t4 ADD PRIMARY KEY (i); +CREATE TABLE t5(c1 BIT(64) NOT NULL PRIMARY KEY, c2 BIT(64)); +CREATE TABLE t6(c1 BIT(64), c2 BIT(64)); +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; + +#Insert permissible NULLs +INSERT IGNORE INTO t5 VALUES(96,null); +INSERT INTO t6 VALUES(null,null); +# Now select using various table access methods (full table scan, range scan, index scan etc.) +## Full table scan ## +--sorted_result +SELECT HEX(c1),HEX(c2) FROM t5; +--sorted_result +SELECT count(*) as total_rows, min(c1) as min_value, max(c1) FROM t5; +--sorted_result +SELECT OCT(c2) FROM t5 WHERE c1 = 68; +## Forward index scan, covering ## +--sorted_result +SELECT bin(c1) FROM t5; +## Backward index scan, covering ## +SELECT oct(c1) FROM t5 ORDER BY c1 DESC; +## Forward index scan, non-covering ## +SELECT hex(c1),hex(c2) FROM t5 ORDER BY c1 LIMIT 2 ; +## Backward index scan, non-covering ## +SELECT * FROM t5 ORDER BY c1 DESC LIMIT 2 /* comment7 */; +## ref type access +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 LIMIT 2; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 = '64' ORDER BY c1 DESC LIMIT 2 ; +## Range access, ordered ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 LIMIT 2 ; +## Range access, backwards scan ## +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <> '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 > '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 < '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <= '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 <=>'64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 BETWEEN '64' AND '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IN ( '64' , '64' ) ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 >= '64' AND c1 < '64' AND c2 = '64' ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NULL ORDER BY c1 DESC LIMIT 2 ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC ; +SELECT hex(c1),hex(c2) FROM t5 WHERE c1 IS NOT NULL ORDER BY c1 DESC LIMIT 2 ; +#Inserting different charachers +CREATE TABLE t7(c1 BIT(64)); +INSERT INTO t7 VALUES('a'),('A'),('z'),('Z'),('!'),('`'),('@'),('#'),('~'),('$'),('%'),('^'),('&'),('*'),('('),(')'),('-'),('_'),('+'),('='),('1'),('9'); +--sorted_result +SELECT * FROM t7; +############# UPDATE ########### + +# Update order by limit +UPDATE t6 SET c1='10' WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Update with arithmetic operations +UPDATE t6 SET c1=c2+c1 WHERE c2 < 100; + +UPDATE t6 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; + + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t6 SET c2=NULL WHERE c1=23; + +UPDATE t6 SET c2=10 WHERE c2=NULL; + + +# Update range values +UPDATE t6 SET c1=12 WHERE c1=b'101' AND c2=178; + +UPDATE t6 SET c1=c1+2,c2=c1+c2 WHERE c2=46 OR c2=b'1001'; + +UPDATE t6 SET c2=123 WHERE c1 IN (30,b'101',88); + + +# Update outside range would be clipped to closest endpoints +UPDATE t6 SET c1=b'1111111111111111111111111111111111111111111111111111111111111111111' WHERE c2 < 10; + +UPDATE t6 SET c2=-1 WHERE c1=94; + + +# Update ignore on bad null error +--sorted_result +SELECT hex(c1) FROM t5 WHERE c1<>0; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t5 SET c1=NULL WHERE c1<>0; +UPDATE IGNORE t5 SET c1=NULL WHERE c1>100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +SET SQL_MODE=DEFAULT; + +#Multi table update +--disable_warnings +UPDATE t5,t6 SET t5.c2=t6.c1+t5.c1, t6.c2=t5.c1+t6.c1 WHERE t5.c1 > 100 OR t6.c2 > 100; +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Update using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +UPDATE t5 SET c2='a' WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +UPDATE t5 SET c2=13 where c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--disable_warnings +UPDATE t5 SET c2=c2+10 WHERE c1 IN (b'001',b'101',b'111'); +--enable_warnings +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +UPDATE t5,t6 SET t5.c2=t6.c1+t6.c2 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +############# DELETE ########### + +TRUNCATE t5; +TRUNCATE t6; + +INSERT IGNORE INTO t5 VALUES (95, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (69, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135); +INSERT INTO t6 VALUES (94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),(44, 307), (68, 454), (57, 135),(null,23),(1,null),(null,null); + +# Delete by order by limit +DELETE FROM t6 WHERE c2 > 100 ORDER BY c2 LIMIT 1; + + +# Delete rows with NULL column +DELETE FROM t6 WHERE c2=NULL; + + +# Delete with range values +DELETE FROM t6 WHERE c1=b'101' AND c2=178; + +DELETE FROM t6 WHERE c2=46 OR c2=b'1001'; + +DELETE FROM t6 WHERE c1 IN (30,b'101',88); + + +#Multi table delete +DELETE t5,t6 FROM t5,t6 WHERE t5.c1 > 100 OR t6.c2 > 100; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + + +# Delete using various access methods +TRUNCATE t5; +TRUNCATE t6; +INSERT IGNORE INTO t5 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); +INSERT INTO t6 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10); + +# Update using Const +# EXPLAIN SELECT * FROM t5 WHERE c1=6 AND c2=6; +DELETE FROM t5 WHERE c1=6 AND c2=6; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using range +# EXPLAIN SELECT * FROM t5 WHERE c1 BETWEEN 5 AND 9; +DELETE FROM t5 WHERE c1 BETWEEN 5 AND 9; +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; +# EXPLAIN SELECT * FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +DELETE FROM t5 WHERE c1 IN (b'001',b'101',b'111'); +--sorted_result +SELECT hex(c1),hex(c2) FROM t5; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; +DELETE t5,t6 FROM t5,t6 WHERE t5.c1=t6.c1 AND t5.c2=t6.c2; + +# Droping the tables +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; + diff --git a/mysql-test/suite/engines/iuds/t/update_decimal.test b/mysql-test/suite/engines/iuds/t/update_decimal.test new file mode 100644 index 00000000..bf302e6a --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/update_decimal.test @@ -0,0 +1,553 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running UPDATE tests for DECIMAL ######## + +# Create tables +CREATE TABLE t1(c1 DECIMAL(10,5) UNSIGNED NOT NULL, c2 DECIMAL(10,5) SIGNED NULL, c3 DECIMAL, c4 INT, UNIQUE INDEX idx(c1,c4)); + +# Inserting data into table t1 + +# Trailing zeroes are not stripped, D=5 +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); + +# DECIMAL := DECIMAL(10,0); Decimal values in c3 will be stripped; +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); + +# c1, c2, c3 will be rounded automatically +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); + +# Inserting maximum values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); + +# Test insert leading zero, +/- signs, overflow handling +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); + +# Inserting in scientific notations +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +#INSERT INTO t1 VALUES('0.9999999999e+4','-.999999999e+4,'0.9999999999e+10',11); + +--sorted_result +SELECT * FROM t1; + +# UPDATE starts here + +# Update order by limit +UPDATE t1 SET c1='10001.00001' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +--sorted_result +SELECT c1,c2 FROM t1; + +# Update with arithmetic operations +UPDATE IGNORE t1 SET c1=c2+c3 WHERE c3 < 10000; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +--sorted_result +SELECT * FROM t1; + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t1 SET c2=NULL WHERE c4=4; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c2=1.0e+5 WHERE c2=NULL; +--sorted_result +SELECT * FROM t1; + +# Update negative value to unsigned column +UPDATE IGNORE t1 SET c1=-1.0e+2 WHERE c4=2; +SHOW WARNINGS; +--sorted_result +SELECT * FROM t1; +UPDATE IGNORE t1 SET c1=1.0e+20 WHERE c4=2; +SHOW WARNINGS; +--sorted_result +SELECT * FROM t1; + +# Update range values +UPDATE t1 SET c1=0.9999999999e+5 WHERE c3=1 AND c4=7; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1=1.2e+2,c2=c4+c2 WHERE c3=9999999999 OR c2=1.0e-5; +--sorted_result +SELECT * FROM t1 WHERE c1=1.2e+2; +UPDATE t1 SET c3=1234567890 WHERE c4 IN (4,5,6); +--sorted_result +SELECT * FROM t1; + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t1 SET c1=99999.999999 WHERE c4=7; +--sorted_result +SELECT c1,c4 FROM t1; +UPDATE t1 SET c2=-9999.0099 WHERE c4=5; +--sorted_result +SELECT c2,c4 FROM t1; + +# Update ignore on bad null error +SELECT c1 FROM t1 WHERE c1>1000; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c1>1000; +UPDATE IGNORE t1 SET c1=NULL WHERE c1>1000; +--sorted_result +SELECT c1 from t1 WHERE c1>1000; +SET SQL_MODE=DEFAULT; + +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t1; + +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +UPDATE t1 SET c1=c1-100, c2=c1+c2 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +--sorted_result +SELECT * FROM t1; + +# Multi table update +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +UPDATE t1,t2,t3,t4 SET t2.c1=t2.c1+t3.c1, t3.c2=t3.c2-t2.c1, t4.c1=t1.c1*t1.c3 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888' ; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; + +# Update using various access methods +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); + +# Update using Const +# EXPLAIN SELECT * FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +UPDATE t2 SET t2.c1='44444.44444', t2.c3=4 WHERE t2.c1='22222.22222' AND t2.c3=2; +--sorted_result +SELECT * FROM t2; + +# Update using range +# EXPLAIN SELECT * FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +update t2 set t2.c1='99999.99999' where c1 BETWEEN '11111' AND '44444'; +--sorted_result +SELECT * FROM t2; +# EXPLAIN SELECT * FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +UPDATE t2 SET c1=c1-1,c2=c2-1 WHERE c1 IN ('44444.44444','99999.99999'); +--sorted_result +SELECT * FROM t2; + +# Update using eq_ref +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT); +CREATE TABLE t3(c1 DECIMAL(10,5) NOT NULL, c2 DECIMAL, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; + +#Updating with invalid values +UPDATE IGNORE t1 SET c3='asdf' WHERE c1='11111.11111'; +--sorted_result +SELECT c3 FROM t1; +UPDATE IGNORE t1 SET c2="1 e 1" WHERE c4=2; +--sorted_result +SELECT c2 FROM t1; + +#Duplicate keys +--error ER_DUP_ENTRY +UPDATE t4 SET c1=88888.88888,c3=8 WHERE c3=7; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Droping the tables +--disable_warnings +DROP TABLES IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running UPDATE tests for FLOAT ######## + +# Create tables +CREATE TABLE t1(c1 FLOAT(10,5) UNSIGNED NOT NULL, c2 FLOAT(10,5) SIGNED NULL, c3 FLOAT, c4 INT, UNIQUE INDEX idx(c1,c4)); + +# Inserting data into table t1 + +# Trailing zeroes are not stripped, D=5 +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); + +# DECIMAL := DECIMAL(10,0); Decimal values in c3 will be stripped; +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); + +# c1, c2, c3 will be rounded automatically +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); + +# Inserting maximum values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); + +# Test insert leading zero, +/- signs, overflow handling +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); + +# Inserting in scientific notations +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +#INSERT INTO t1 VALUES('0.9999999999e+4','-.999999999e+4,'0.9999999999e+10',11); + +--sorted_result +SELECT * FROM t1; + +# UPDATE starts here + +# Update order by limit +UPDATE t1 SET c1='10001.00001' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +--sorted_result +SELECT c1,c2 FROM t1; + +# Update with arithmetic operations +UPDATE IGNORE t1 SET c1=c2+c3 WHERE c3 < 10000; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +--sorted_result +SELECT * FROM t1; + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t1 SET c2=NULL WHERE c4=4; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c2=1.0e+5 WHERE c2=NULL; +--sorted_result +SELECT * FROM t1; + +# Update negative value to unsigned column +UPDATE IGNORE t1 SET c1=-1.0e+2 WHERE c4=2; +SHOW WARNINGS; +--sorted_result +SELECT * FROM t1; +UPDATE IGNORE t1 SET c1=1.0e+20 WHERE c4=2; +SHOW WARNINGS; +--sorted_result +SELECT * FROM t1; + +# Update range values +UPDATE t1 SET c1=0.9999999999e+5 WHERE c3=1 AND c4=7; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1=1.2e+2,c2=c4+c2 WHERE c3=9999999999 OR c2=1.0e-5; +--sorted_result +SELECT * FROM t1 WHERE c1=1.2e+2; +UPDATE t1 SET c3=1234567890 WHERE c4 IN (4,5,6); +--sorted_result +SELECT * FROM t1; + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t1 SET c1=99999.999999 WHERE c4=7; +--sorted_result +SELECT c1,c4 FROM t1; +UPDATE t1 SET c2=-9999.0099 WHERE c4=5; +--sorted_result +SELECT c2,c4 FROM t1; + +# Update ignore on bad null error +SELECT c1 FROM t1 WHERE c1>1000; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c1>1000; +UPDATE IGNORE t1 SET c1=NULL WHERE c1>1000; +--sorted_result +SELECT c1 from t1 WHERE c1>1000; +SET SQL_MODE=DEFAULT; + +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; + +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +UPDATE t1 SET c1=c1-100, c2=c1+c2 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; + +# Multi table update +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t4; +UPDATE t1,t2,t3,t4 SET t2.c1=t2.c1+t3.c1, t3.c2=t3.c2-t2.c1, t4.c1=t1.c1*t1.c3 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888' ; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; + +# Update using various access methods +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); + +# Update using Const +# EXPLAIN SELECT * FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +UPDATE t2 SET t2.c1='44444.44444', t2.c3=4 WHERE t2.c1='22222.22222' AND t2.c3=2; +--sorted_result +SELECT * FROM t2; + +# Update using range +# EXPLAIN SELECT * FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +update t2 set t2.c1='99999.99999' where c1 BETWEEN '11111' AND '44444'; +--sorted_result +SELECT * FROM t2; +# EXPLAIN SELECT * FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +UPDATE t2 SET c1=c1-1,c2=c2-1 WHERE c1 IN ('44444.44444','99999.99999'); +--sorted_result +SELECT * FROM t2; + +# Update using eq_ref +DROP TABLE t2,t3; +CREATE TABLE t2(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT); +CREATE TABLE t3(c1 FLOAT(10,5) NOT NULL, c2 FLOAT, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; + +#Updating with invalid values +UPDATE t1 SET c3='asdf' WHERE c1='11111.11111'; +--sorted_result +SELECT c3 FROM t1; +UPDATE IGNORE t1 SET c2="1 e 1" WHERE c4=2; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT c2 FROM t1; + +#Duplicate keys +--replace_result 88888.89063 88888.89062 +--error ER_DUP_ENTRY +UPDATE t4 SET c1=88888.88888,c3=8 WHERE c3=7; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--replace_result 88888.89063 88888.89062 +--sorted_result +SELECT * FROM t4; +# Droping the tables +--disable_warnings +DROP TABLES IF EXISTS t1,t2,t3,t4; +--enable_warnings + +######## Running UPDATE tests for DOUBLE ######## + +# Create tables +CREATE TABLE t1(c1 DOUBLE(10,5) UNSIGNED NOT NULL, c2 DOUBLE(10,5) SIGNED NULL, c3 DOUBLE, c4 INT, UNIQUE INDEX idx(c1,c4)); + +# Inserting data into table t1 + +# Trailing zeroes are not stripped, D=5 +INSERT INTO t1 VALUES('00100.05000','-00100.05000','00100119',1),('11111.00009','-9999.99999','9999999',2); + +# DECIMAL := DECIMAL(10,0); Decimal values in c3 will be stripped; +INSERT IGNORE INTO t1 VALUES('1000000','10000000','1000000000.0001',3); + +# c1, c2, c3 will be rounded automatically +INSERT INTO t1 values('100.000001','1000.999999','9999.999999',4); + +# Inserting maximum values +INSERT INTO t1 VALUES('99999.99999','-99999.99999','9999999999',5); + +# Test insert leading zero, +/- signs, overflow handling +INSERT INTO t1 VALUES ("0.0","0.0","0.0",6),("01.0","01.0","01.0",7); +INSERT IGNORE INTO t1 VALUES ("-.1","-.1","-.1",8); +INSERT IGNORE INTO t1 VALUES ("+111111111.11","+111111111.11","+111111111.11",9); + +# Inserting in scientific notations +INSERT INTO t1 VALUES('1.0e+4','1.0e-5','1.0e+9',10); +#INSERT INTO t1 VALUES('0.9999999999e+4','-.999999999e+4,'0.9999999999e+10',11); + +--sorted_result +SELECT * FROM t1; + +# UPDATE starts here + +# Update order by limit +UPDATE t1 SET c1='10001.00001' WHERE c2 > 100 ORDER BY c2 LIMIT 1; +--sorted_result +SELECT c1,c2 FROM t1; + +# Update with arithmetic operations +UPDATE IGNORE t1 SET c1=c2+c3 WHERE c3 < 10000; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c2=c2+100 WHERE c1 >=100 ORDER BY c1 LIMIT 4; +--sorted_result +SELECT * FROM t1; + +# Update with NULL ( NULL to number & number to NULL) +UPDATE t1 SET c2=NULL WHERE c4=4; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c2=1.0e+5 WHERE c2=NULL; +--sorted_result +SELECT * FROM t1; + +# Update negative value to unsigned column +UPDATE IGNORE t1 SET c1=-1.0e+2 WHERE c4=2; +SHOW WARNINGS; +--sorted_result +SELECT * FROM t1; +UPDATE IGNORE t1 SET c1=1.0e+20 WHERE c4=2; +SHOW WARNINGS; +--sorted_result +SELECT * FROM t1; + +# Update range values +UPDATE t1 SET c1=0.9999999999e+5 WHERE c3=1 AND c4=7; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1=1.2e+2,c2=c4+c2 WHERE c3=9999999999 OR c2=1.0e-5; +--sorted_result +SELECT * FROM t1 WHERE c1=1.2e+2; +UPDATE t1 SET c3=1234567890 WHERE c4 IN (4,5,6); +--sorted_result +SELECT * FROM t1; + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t1 SET c1=99999.999999 WHERE c4=7; +--sorted_result +SELECT c1,c4 FROM t1; +UPDATE t1 SET c2=-9999.0099 WHERE c4=5; +--sorted_result +SELECT c2,c4 FROM t1; + +# Update ignore on bad null error +SELECT c1 FROM t1 WHERE c1>1000; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c1>1000; +UPDATE IGNORE t1 SET c1=NULL WHERE c1>1000; +--sorted_result +SELECT c1 from t1 WHERE c1>1000; +SET SQL_MODE=DEFAULT; + +TRUNCATE t1; +INSERT INTO t1 VALUES ('11111.11111','-11111.11111','1111111111',1),('22222.22222','-22222.22222','2222222222',2),('33333.33333','-33333.33333','3333333333',3),('44444.44444','-44444.44444','4444444444',4),('55555.55555','-55555.55555','5555555555',5),('66666.66666','-66666.66666','6666666666',6),('77777.77777','-77777.77777','7777777777',7),('88888.88888','-88888.88888','8888888888',8),('99999.99999','-99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t1; + +SELECT c1 FROM t1 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +UPDATE t1 SET c1=c1-100, c2=c1+c2 WHERE c1>='22222.22222' AND c1<='55555.55555' ORDER BY c1; +--sorted_result +SELECT * FROM t1; + +# Multi table update +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx2(c1,c3)); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1,c3)); +CREATE TABLE t4(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx4(c1,c3)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); +INSERT INTO t4 VALUES ('77777.77777','7777777777',7),('88888.88888','8888888888',8),('99999.99999','9999999999',9); +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +UPDATE t1,t2,t3,t4 SET t2.c1=t2.c1+t3.c1, t3.c2=t3.c2-t2.c1, t4.c1=t1.c1*t1.c3 WHERE t1.c2 >'1111111111' AND t4.c2 < '8888888888' ; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t1; + +# Update using various access methods +TRUNCATE t2; +TRUNCATE t3; +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('44444.44444','4444444444',4),('55555.55555','5555555555',5),('66666.66666','6666666666',6); + +# Update using Const +# EXPLAIN SELECT * FROM t2 WHERE t2.c1='22222.22222' AND t2.c3=2; +UPDATE t2 SET t2.c1='44444.44444', t2.c3=4 WHERE t2.c1='22222.22222' AND t2.c3=2; +--sorted_result +SELECT * FROM t2; + +# Update using range +# EXPLAIN SELECT * FROM t2 WHERE c1 BETWEEN '11111' AND '44444'; +update t2 set t2.c1='99999.99999' where c1 BETWEEN '11111' AND '44444'; +--sorted_result +SELECT * FROM t2; +# EXPLAIN SELECT * FROM t2 WHERE c1 IN ('44444.44444','99999.99999'); +UPDATE t2 SET c1=c1-1,c2=c2-1 WHERE c1 IN ('44444.44444','99999.99999'); +--sorted_result +SELECT * FROM t2; + +# Update using eq_ref +DROP TABLE t2,t3; +CREATE TABLE t2(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT); +CREATE TABLE t3(c1 DOUBLE(10,5) NOT NULL, c2 DOUBLE, c3 INT, UNIQUE INDEX idx3(c1)); +INSERT INTO t2 VALUES ('11111.11111','1111111111',1),('22222.22222','2222222222',2),('33333.33333','3333333333',3); +INSERT INTO t3 VALUES ('11111.11111','4444444444',1),('55555.55555','5555555555',2),('66666.66666','6666666666',3); +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE t2,t3 SET t3.c1='22222.22222' WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; + +#Updating with invalid values +UPDATE IGNORE t1 SET c3='asdf' WHERE c1='11111.11111'; +--sorted_result +SELECT c3 FROM t1; +UPDATE IGNORE t1 SET c2="1 e 1" WHERE c4=2; +--sorted_result +SELECT c2 FROM t1; + +#Duplicate keys +--error ER_DUP_ENTRY +UPDATE t4 SET c1=88888.88888,c3=8 WHERE c3=7; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +# Droping the tables +--disable_warnings +DROP TABLES IF EXISTS t1,t2,t3,t4; +--enable_warnings + diff --git a/mysql-test/suite/engines/iuds/t/update_delete_calendar.test b/mysql-test/suite/engines/iuds/t/update_delete_calendar.test new file mode 100644 index 00000000..aa695953 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/update_delete_calendar.test @@ -0,0 +1,758 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2; +--enable_warnings + +######## Running UPDATE tests for DATE ######## + +# Create tables +CREATE TABLE t1(c1 DATE NOT NULL PRIMARY KEY, c2 DATE NULL, c3 INT, INDEX idx2(c2)); +# Insert into table +INSERT INTO t1 VALUE('1998-01-01','10-01-01',1),('2001-01-01','70-01-01',2),('2001-01-03','2001-01-04 09:34:00',3); +--sorted_result +SELECT * FROM t1; + +# Update year,month,day,4 digit year date type to 2 digit and vice-versa +UPDATE t1 SET c1='69-02-02' WHERE c2='10-01-01'; +SELECT year(c1),month(c1),day(c1),year(c2) FROM t1 WHERE c2='10-01-01'; +UPDATE t1 SET c1='1969-02-02',c2='1910-02-02' WHERE c2='10-01-01'; +SELECT * FROM t1 WHERE c1='1969-02-02' AND c2='1910-02-02'; +UPDATE t1 SET c1='01-02-02',c2='2070-02-02' WHERE c2='70-01-01'; +SELECT year(c1),c2 FROM t1 WHERE c1='01-02-02' AND c2='2070-02-02'; + +# Update with time values +UPDATE t1 SET c1='2001-01-03 08:30:00',c2='2001-01-05' WHERE c2='2001-01-04'; +SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='2001-01-05'; + +# Update with function +INSERT INTO t1 VALUES('2009-02-25','09-02-27',4); +SET TIMESTAMP=1235553613; #'2009-02-25' +UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE(); +UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURDATE(); +--sorted_result +SELECT * FROM t1; + +# Update with Null, null to valid date +INSERT INTO t1 VALUES('2001-01-06','2001-01-07',5),('2001-01-08',NULL,6); +UPDATE t1 SET c2=NULL WHERE c1='2001-01-06'; +--sorted_result +SELECT * FROM t1 WHERE c2 IS NULL; +UPDATE t1 SET c2='2001-01-10' WHERE c2 IS NULL; +--sorted_result +SELECT * FROM t1 WHERE c2='2001-01-10'; + +# Update with invalid dates, converts to zero dates, ALLOW_INVALID_DATES allows +INSERT INTO t1 VALUES('2001-01-11','2001-01-11',7),('2001-01-12','2001-01-12',8),('2001-01-13','2001-01-13',9),('2001-01-14','2001-01-14',10),('2001-01-15','2001-01-15',11),('2001-01-16','2001-01-16',12); +UPDATE t1 SET c1='10:45:15',c2='2009-01-32' WHERE c1='2001-01-11'; +UPDATE t1 SET c2='2009-02-30' WHERE c2='2001-01-12'; +UPDATE t1 SET c2='2009-04-31' WHERE c2='2001-01-13'; +UPDATE t1 SET c2='2009-06-31' WHERE c2='2001-01-14'; +UPDATE t1 SET c2='2009-09-31' WHERE c2='2001-01-15'; +SELECT count(*) FROM t1 WHERE c2='10:45:15' OR c2='2009-01-32' OR c2='2009-02-30' OR c2='2009-04-31' OR c2='2009-06-31' OR c2='2009-09-31' /* returns 0 */; +UPDATE t1 SET c2='2009-11-31' WHERE c2='2001-01-16'; +--sorted_result +SELECT * FROM t1 WHERE c2='0000-00-00'; +SET SQL_MODE=ALLOW_INVALID_DATES; +INSERT INTO t1 VALUES('2001-01-27','2001-01-28',19); +UPDATE t1 SET c1='2009-04-31',c2='2009-02-30' WHERE c3=19; +SELECT c1,c2,day(c1),day(c2) FROM t1 WHERE c3=19; +SET SQL_MODE=DEFAULT; + +# Update with zero dates, zero dates to valid dates +INSERT INTO t1 VALUES('2001-01-17','0000-00-00',13),('2001-01-18','2001-01-18',14); +SET SQL_MODE=TRADITIONAL; +SELECT * FROM t1 WHERE c2='0000-00-00'; +--error ER_TRUNCATED_WRONG_VALUE +UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18'; +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c2='0000-00-00' WHERE c2='2001-01-18'; +UPDATE t1 SET c2='2001-01-18' WHERE c2='0000-00-00' AND c1='2001-01-17'; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00' OR c2='0000-00-00'; + +# Update with valid dates with zero in month/day +INSERT INTO t1 VALUES('2001-01-19','2001-01-20',15); +UPDATE t1 SET c1='2010-00-01',c2='2010-10-00' WHERE c3=15; +SELECT *,month(c1),day(c2) from t1 WHERE c3=15; + +# Update with range values +INSERT INTO t1 VALUES('2001-01-21','2001-01-22',16); +UPDATE t1 SET c1='1000-01-01',c2='9999-12-31' WHERE c1='2001-01-21'; +SELECT * FROM t1 WHERE c1='1000-01-01' AND c2='9999-12-31'; + +# Update ignore on bad null/duplicate key +INSERT INTO t1 VALUES('2001-01-23','2001-01-24',17),('2001-01-25','2001-01-26',18); +--error ER_DUP_ENTRY +UPDATE t1 SET c1='2001-01-23' WHERE c1='2001-01-25'; +UPDATE IGNORE t1 SET c1='2001-01-23' WHERE c1='2001-01-25'; +SELECT count(*) FROM t1 WHERE c1='2001-01-23'; +--error ER_DUP_ENTRY +UPDATE t1 SET c1=NULL WHERE c2='2001-01-24' /* updates to 0000-00-00 */; +UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-24'; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00'; + +# Multi table update + +TRUNCATE TABLE t1; +CREATE TABLE t2(c1 DATE NOT NULL PRIMARY KEY, c2 DATE, c3 INT); + +# eq-ref join +INSERT INTO t1 VALUES('2001-01-02','2001-01-01',1),('2001-01-03','2001-01-02',2); +INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +UPDATE t1,t2 SET t2.c1='2005-01-06',t1.c1='2005-01-06' WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; + +INSERT INTO t1 VALUES('2002-01-01','2002-01-02',3),('2002-01-04','2002-01-02',4); +INSERT INTO t2 VALUES('2002-01-02','2002-01-03',3),('2002-01-03','2002-01-04',4); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +UPDATE t1,t2 SET t2.c1='2002-01-06',t1.c2='2002-01-06' WHERE t2.c1=t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06' AND t1.c2='2002-01-06'; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM t1 WHERE c2='2002-01-06' AND c3=3; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DROP TABLE t2; + +# Update with other access methods, ORDER BY LIMIT +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, ADD KEY(c1); + +# ref access +UPDATE t1 SET c1='2002-01-07' WHERE c2='2002-01-05'; +SELECT * FROM t1 WHERE c1='2002-01-07'; + +# range access +INSERT INTO t1 VALUES('2002-01-08','2002-01-09',4),('2002-01-10','2002-01-11',5),('2002-01-12','2002-01-13',6),('2002-01-14','2002-01-15',7),('2002-01-16','2002-01-17',8),('2002-01-18','2002-01-19',9),('2002-01-20','2002-01-21',10),('2002-01-22','2002-01-23',11),('2002-01-24','2002-01-25',12),('2002-01-26','2002-01-27',13),('2002-01-28','2002-01-29',14),('2002-01-30','2002-01-31',15),('2002-02-01','2002-02-02',16),('2002-02-03','2002-02-04',17),('2002-02-05','2002-02-06',18),('2002-02-07','2002-02-08',19),('2002-02-09','2002-02-10',20); +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1='2003-01-01' WHERE c2 <> '2002-01-09' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <> '2002-01-09' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01' WHERE c2 >= '2002-01-13' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '2002-01-13' ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01' WHERE c2 <='2002-01-21' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <='2002-01-21' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01' WHERE c2 <=> '2002-01-23' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '2002-01-23' ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01' WHERE c2 BETWEEN '2002-01-25' AND '2002-01-29' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '2002-01-25' AND '2002-01-29' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01' WHERE c2 IN('2002-01-29','2002-01-31') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN('2002-01-29','2002-01-31') ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01' WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +UPDATE t1 SET c1='2003-01-01' WHERE c2>= '2002-02-06' AND c1 < '2002-02-09' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2>= '2002-02-06' AND c1 < '2002-02-09' ORDER BY c2; +INSERT INTO t1 VALUES('2002-03-01','2002-03-01',1),('2002-03-03','2002-03-04',2),('2002-03-05','2002-03-06',3),('2005-01-01','2005-01-02',4),('2005-01-03','2005-01-04',5),('2005-01-05','2005-01-06',6),('2005-01-07','2005-01-08',7),('2005-01-09',NULL,8); +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t1; +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; +# ref access +--sorted_result +SELECT * FROM t1 WHERE c1='2003-01-01'; +## Range access ## +SELECT * FROM t1 WHERE c1 <> '2003-01-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> '2003-01-01' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '2003-01-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 >= '2003-01-01' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '2003-01-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <= '2003-01-01' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '2003-01-01' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2003-01-01' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '2002-03-01' AND '2003-01-01' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '2002-03-01' AND '2003-01-01' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN('2003-01-01','2005-01-07') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN('2003-01-01','2005-01-07') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1; +SELECT * FROM t1 WHERE c1>='2003-01-01' AND c1 <= '2005-01-07' ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1>='2003-01-01' AND c1 <= '2005-01-07' ORDER BY c2,c1; + +# Index-merge access +SELECT * FROM t1 WHERE c1='2003-01-03' OR c2='2002-03-06'; +UPDATE t1 SET c1='2006-01-01' WHERE c1='2003-01-03' OR c2='2002-03-06'; +--sorted_result +SELECT * FROM t1 WHERE c1='2006-01-01' OR c2='2002-03-04'; + +# Testing delete using various access methods +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATE NOT NULL, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6); +INSERT INTO t1 VALUES('1000-01-01','1000-01-01',1),('9999-12-31','9999-12-31',2); +SELECT * FROM t1 WHERE c1 <='1000-01-01'; +DELETE FROM t1 WHERE c1 <='1000-01-01'; +SELECT * FROM t1 WHERE c1 <='1000-01-01'; +SELECT * FROM t1 WHERE c1 >='9999-12-31'; +DELETE FROM t1 WHERE c1 >='9999-12-31'; +SELECT * FROM t1 WHERE c1 >='9999-12-31'; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> CURDATE() ORDER BY c1; +DELETE FROM t1 WHERE c1 <> CURDATE() ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> CURDATE() ORDER BY c1; +INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10); +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDDATE(CURDATE(),'1 01:01:01') ORDER BY c1 DESC; +INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14); +SELECT * FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN CURDATE() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN(CURDATE(),ADDDATE(CURDATE(),'3 01:01:01')) ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19); +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 01:01:01') ORDER BY c1; +--sorted_result +SELECT * FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01'); +DELETE FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01'); +# Disable warnings due to #43763 +--disable_warnings +--sorted_result +SELECT * FROM t1 WHERE c1=ADDDATE(CURDATE(),'9 01:01:01') OR c2=ADDDATE(CURDATE(),'10 01:01:01'); +--enable_warnings +SELECT count(*) FROM t1; +TRUNCATE TABLE t1; +SELECT count(*) FROM t1; + +# Multi-table delete +# eq-ref join +CREATE TABLE t2(c1 DATE NOT NULL PRIMARY KEY, c2 DATE, c3 INT); +INSERT INTO t1 VALUES('2001-01-02','2001-01-01',1),('2001-01-03','2001-01-02',2); +INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES('2001-01-01','2001-01-02',1),('2001-01-03','2001-01-02',2); +INSERT INTO t2 VALUES('2001-01-02','2001-01-03',1),('2001-01-04','2001-01-05',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DROP TABLE t1,t2; + +######## Running UPDATE tests for DATETIME ######## + +# Create tables +CREATE TABLE t1(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME NULL, c3 INT, INDEX idx2(c2)); + +# Update date values to datetime field +INSERT INTO t1 VALUE('1998-01-01 09:23:45','10-01-01 14:12:33',1); +UPDATE t1 SET c1='2001-01-01' WHERE c2='10-01-01 14:12:33'; +SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='10-01-01 14:12:33'; + +# Update with single digit hour, minute, second,fraction part to time +INSERT INTO t1 VALUES('2009-01-01 08:42:42','2009-01-02 23:59:59',2); +UPDATE t1 SET c1='2009-01-01 1:2:3',c2='2009-01-02 23:59:59.999999' WHERE c2='2009-01-02 23:59:59'; +SELECT c1,ADDTIME(c2,'1 1:1:1.000002') FROM t1 WHERE c3=2; + +# Update with function +INSERT INTO t1 VALUES('2009-02-25 15:45','09-02-27 15:46',3); +SET TIMESTAMP=1235553613; #'2009-02-25' +UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE(); +UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURRENT_TIMESTAMP(); +--sorted_result +SELECT * FROM t1; + +# Update with Null, null to valid date +INSERT INTO t1 VALUES('2001-01-06','2001-01-07 09:30:00',4),('2001-01-08',NULL,5); +--sorted_result +SELECT * FROM t1 WHERE c2 IS NULL; +UPDATE t1 SET c2=NULL WHERE c1='2001-01-06 00:00:00'; +--sorted_result +SELECT * FROM t1 WHERE c2 IS NULL; +UPDATE t1 SET c2='2001-01-10 00:00:00' WHERE c2 IS NULL; +--sorted_result +SELECT * FROM t1 WHERE c2='2001-01-10'; + +# Update with invalid datetimes, converts to zero datetime +INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7); +UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09'; +UPDATE t1 SET c2='2001-01-11 23:59:60' WHERE c1='2001-01-11'; +SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59'; +SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; + +# Update with zero datetimes, zero datetimes to valid datetimes +INSERT INTO t1 VALUES('2001-01-17','0000-00-00 00:00:00',8),('2001-01-18','2001-01-18 07:35',9); +SET SQL_MODE=TRADITIONAL; +SELECT * FROM t1 WHERE c2='0000-00-00 00:00:00'; +--error ER_TRUNCATED_WRONG_VALUE +UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +UPDATE t1 SET c2='2001-01-17 12:34:00' WHERE c2='0000-00-00 00:00:00' AND c1='2001-01-17'; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; +--sorted_result +SELECT * FROM t1 WHERE c2='2001-01-17 12:34:00'; + +# Update with range values +INSERT INTO t1 VALUES('2001-01-21 05:43:43','2001-01-22 06:53:53',10); +UPDATE t1 SET c1='1000-01-01 00:00:00',c2='9999-12-31 23:59:59' WHERE c1='2001-01-21 05:43:43'; +SELECT * FROM t1 WHERE c1='1000-01-01 00:00:00' AND c2='9999-12-31 23:59:59'; + +# Update ignore on bad null/duplicate key +INSERT INTO t1 VALUES('2001-01-23 02:33','2001-01-24 03:33',11),('2001-01-25 04:33','2001-01-26 05:33',12); +--error ER_DUP_ENTRY +UPDATE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +UPDATE IGNORE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +SELECT count(*) FROM t1 WHERE c1='2001-01-23 02:33'; +--error ER_DUP_ENTRY +UPDATE t1 SET c1=NULL WHERE c2='2001-01-24 03:33' /* updates to 0000-00-00 00:00:00 */; +UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-24 03:33'; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00'; + +# Multi table update + +TRUNCATE TABLE t1; +CREATE TABLE t2(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME, c3 INT); + +# eq-ref join +INSERT INTO t1 VALUES('2001-01-02 2:30:45','2001-01-01 1:30',1),('2001-01-03 3:30','2001-01-02 2:30:45',2); +INSERT INTO t2 VALUES('2001-01-02 2:30:45','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +UPDATE t1,t2 SET t2.c1='2005-01-06 2:30:50',t1.c1='2005-01-06 2:30:50' WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; + +INSERT INTO t1 VALUES('2002-01-01 3:30','2002-01-02 2:30:45',3),('2002-01-04 4:30','2002-01-02 2:30:45',4); +INSERT INTO t2 VALUES('2002-01-02 2:30:45','2002-01-03 3:30',3),('2002-01-03 3:30','2002-01-04 4:30',4); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +UPDATE t1,t2 SET t2.c1='2002-01-06 2:30:50',t1.c2='2002-01-06 2:30:50' WHERE t2.c1=t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06 2:30:50' AND t1.c2='2002-01-06 2:30:50'; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM t1 WHERE c2='2002-01-06 2:30:50' AND c3=3; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DROP TABLE t2; + +# Update with other access methods, ORDER BY LIMIT +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, ADD KEY(c1); + +# ref access +UPDATE t1 SET c1='2002-01-07 7:30' WHERE c2='2002-01-05 5:30'; +SELECT * FROM t1 WHERE c1='2002-01-07 7:30'; + +# range access, MRR +INSERT INTO t1 VALUES('2002-01-08 1:30','2002-01-09 1:30',4),('2002-01-08 1:30:5','2002-01-09 1:30:5',5),('2002-01-08 1:30:10','2002-01-09 1:30:10',6),('2002-01-08 1:30:15','2002-01-09 1:30:15',7),('2002-01-08 1:30:20','2002-01-09 1:30:20',8),('2002-01-08 1:30:25','2002-01-09 1:30:25',9),('2002-01-08 1:30:30','2002-01-09 1:30:30',10),('2002-01-08 1:30:35','2002-01-09 1:30:35',11),('2002-01-08 1:30:40','2002-01-09 1:30:40',12),('2002-01-08 1:30:45','2002-01-09 1:30:45',13),('2002-01-08 1:30:50','2002-01-09 1:30:50',14),('2002-01-08 1:30:55','2002-01-09 1:30:55',15),('2002-01-08 1:30:59','2002-01-09 1:30:59',16),('2002-01-08 2:00','2002-01-09 2:00',17),('2002-01-08 2:00:05','2002-01-09 2:00:05',18),('2002-01-08 2:00:10','2002-01-09 2:00:10',19),('2002-01-08 2:00:15','2002-01-09 2:00:15',20); +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 >= '20020109013010' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '20020109013010' ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <='02-01-09 1:30:20' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <='02-01-09 1:30:20' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <=> '020109013030' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '020109013030' ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2; +INSERT INTO t1 VALUES('20020301000001','20020302000001',1),('020303010030','020304010030',2),('050103000001','050104000001',3),('5-10-10 1:2:3','5-10-10 1:2:3',4),('0000-00-00 00:00:01',NULL,5); +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t1; +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; +# ref access +--sorted_result +SELECT * FROM t1 WHERE c1='2003-01-01 1:2:3'; +## Range access ## +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1; +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1; + +# Index-merge access +SELECT * FROM t1 WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +UPDATE t1 SET c1='20060101000001' WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +--sorted_result +SELECT * FROM t1 WHERE c1='20060101000001' OR c2='020304010030'; + +# Testing delete using various access methods +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 DATETIME NOT NULL, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6); +INSERT INTO t1 VALUES('1000-01-01 00:00:00','1000-01-01 00:00:00',1),('9999-12-31 23:59:59','9999-12-31 23:59:59',2); +SELECT * FROM t1 WHERE c1 <='1000-01-01 00:00:00'; +DELETE FROM t1 WHERE c1 <='1000-01-01 00:00:00'; +SELECT * FROM t1 WHERE c1 <='1000-01-01 00:00:00'; +SELECT * FROM t1 WHERE c1 >='9999-12-31 23:59:59'; +DELETE FROM t1 WHERE c1 >='9999-12-31 23:59:59'; +SELECT * FROM t1 WHERE c1 >='9999-12-31 23:59:59'; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +DELETE FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10); +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14); +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19); +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; +DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; + +--sorted_result +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +DELETE FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +--sorted_result +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +SELECT count(*) FROM t1; +TRUNCATE TABLE t1; +SELECT count(*) FROM t1; + +# Multi-table delete +# eq-ref join +CREATE TABLE t2(c1 DATETIME NOT NULL PRIMARY KEY, c2 DATETIME, c3 INT); +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DROP TABLE t1,t2; + +# More tests for update/delete........ +CREATE TABLE mt1(id int(11) NOT NULL default '0', name varchar(10) default NULL, PRIMARY KEY (id)); +INSERT INTO mt1 VALUES (1,'aaa'),(2,'aaa'),(3,'aaa'); +CREATE TABLE mt2 (id int(11) NOT NULL default '0', name varchar(10) default NULL, PRIMARY KEY (id)); +INSERT INTO mt2 VALUES (2,'bbb'),(3,'bbb'),(4,'bbb'); +CREATE TABLE mt3 (id int(11) NOT NULL default '0', mydate datetime default NULL, PRIMARY KEY (id)); +INSERT INTO mt3 VALUES (1,'2002-02-04 00:00:00'),(3,'2002-05-12 00:00:00'),(5,'2002-05-12 00:00:00'),(6,'2002-06-22 00:00:00'),(7,'2002-07-22 00:00:00'); +delete mt1,mt2,mt3 from mt1,mt2,mt3 where to_days(now())-to_days(mt3.mydate)>=30 and mt3.id=mt1.id and mt3.id=mt2.id; +--sorted_result +select * from mt3; +DROP TABLE mt1,mt2,mt3; + +######## Running UPDATE tests for TIMESTAMP ######## + +# Create tables +CREATE TABLE t1(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP NULL, c3 INT, INDEX idx2(c2)); + +# Update date values to timestamp field +INSERT INTO t1 VALUE('1998-01-01 09:23:45','10-01-01 14:12:33',1); +UPDATE t1 SET c1='2001-01-01' WHERE c2='10-01-01 14:12:33'; +SELECT c1,hour(c1),minute(c1),second(c1) FROM t1 WHERE c2='10-01-01 14:12:33'; + +# Update with single digit hour, minute, second,fraction part to time +INSERT INTO t1 VALUES('2009-01-01 08:42:42','2009-01-02 23:59:59',2); +UPDATE t1 SET c1='2009-01-01 1:2:3',c2='2009-01-02 23:59:59.999999' WHERE c2='2009-01-02 23:59:59'; +SELECT c1,ADDTIME(c2,'1 1:1:1.000002') FROM t1 WHERE c3=2; + +# Update with function +INSERT INTO t1 VALUES('2009-02-25 15:45','09-02-27 15:46',3); +SET TIMESTAMP=1235553613; #'2009-02-25' +UPDATE t1 SET c2=NOW() WHERE c1 >=CURDATE() /* updates c1 with current timestamp */; +UPDATE t1 SET c1=DATE_ADD(CURDATE(),INTERVAL '1 1:1:1' DAY_SECOND) WHERE c2=CURRENT_TIMESTAMP(); +--sorted_result +SELECT * FROM t1; + +# Update with Null, null to valid date +INSERT INTO t1 VALUES('2001-01-06','2001-01-07 09:30:00',4),('2001-01-08',NULL,5); +UPDATE t1 SET c1='20010106010030',c2=NULL WHERE c1='2001-01-06 00:00:00'; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2 IS NULL; +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1=c1,c2='2001-01-10 00:00:00' WHERE c2 IS NULL; +--sorted_result +SELECT * FROM t1 WHERE c2='2001-01-10'; + +# Update with invalid datetimes, converts to zero datetime +INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7); +UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09'; +UPDATE t1 SET c1='2001-01-11 23:59:59',c2='2001-01-11 23:59:60' WHERE c1='2001-01-11'; +SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59'; +SELECT count(*) FROM t1 WHERE c1='2001-01-11 23:59:59' AND c2='2001-01-11 23:59:60'; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; + +# Update with zero datetimes, zero datetimes to valid datetimes +INSERT INTO t1 VALUES('2001-01-17','0000-00-00 00:00:00',8),('2001-01-18','2001-01-18 07:35',9); +SET SQL_MODE=TRADITIONAL; +SELECT * FROM t1 WHERE c2='0000-00-00 00:00:00'; +--error ER_TRUNCATED_WRONG_VALUE +UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +SET SQL_MODE=DEFAULT; +UPDATE t1 SET c1='1972-01-01 07:35',c2='0000-00-00 00:00:00' WHERE c2='2001-01-18 07:35'; +UPDATE t1 SET c1='2001-01-17 12:34:00',c2='2001-01-17 12:34:00' WHERE c2='0000-00-00 00:00:00' AND c1='2001-01-17'; +--sorted_result +SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00'; +--sorted_result +SELECT * FROM t1 WHERE c1='2001-01-17 12:34:00' AND c2='2001-01-17 12:34:00'; + +# Update with range values +INSERT INTO t1 VALUES('2001-01-21 05:43:43','2001-01-22 06:53:53',10); +UPDATE t1 SET c1='1971-01-01 00:00:01',c2='2038-01-09 03:14:07' WHERE c1='2001-01-21 05:43:43'; +SELECT * FROM t1 WHERE c1='1971-01-01 00:00:01' AND c2='2038-01-09 03:14:07'; + +# Update ignore on duplicate key +INSERT INTO t1 VALUES('2001-01-23 02:33','2001-01-24 03:33',11),('2001-01-25 04:33','2001-01-26 05:33',12); +--error ER_DUP_ENTRY +UPDATE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +UPDATE IGNORE t1 SET c1='2001-01-23 02:33' WHERE c1='2001-01-25 04:33'; +SELECT count(*) FROM t1 WHERE c1='2001-01-23 02:33'; +UPDATE t1 SET c1=NULL WHERE c2='2001-01-24 03:33' /* updates to current timestamp */; +UPDATE IGNORE t1 SET c1=NULL WHERE c2='2001-01-26 05:33'; +--sorted_result +SELECT * FROM t1 WHERE c1=CURRENT_TIMESTAMP(); + +# Multi table update + +TRUNCATE TABLE t1; +CREATE TABLE t2(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP, c3 INT); + +# eq-ref join +INSERT INTO t1 VALUES('2001-01-02 2:30:45','2001-01-01 1:30',1),('2001-01-03 3:30','2001-01-02 2:30:45',2); +INSERT INTO t2 VALUES('2001-01-02 2:30:45','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +UPDATE t1,t2 SET t2.c1='2005-01-06 2:30:50',t1.c1='2005-01-06 2:30:50' WHERE t2.c1=t1.c1; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; + +INSERT INTO t1 VALUES('2002-01-01 3:30','2002-01-02 2:30:45',3),('2002-01-04 4:30','2002-01-02 2:30:45',4); +INSERT INTO t2 VALUES('2002-01-02 2:30:45','2002-01-03 3:30',3),('2002-01-03 3:30','2002-01-04 4:30',4); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +UPDATE t1,t2 SET t2.c1='2002-01-06 2:30:50',t1.c1=t1.c1,t1.c2='2002-01-06 2:30:50' WHERE t2.c1=t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1='2002-01-06 2:30:50' AND t1.c2='2002-01-06 2:30:50'; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM t1 WHERE c2='2002-01-06 2:30:50' AND c3=3; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DROP TABLE t2; + +# Update with other access methods, ORDER BY LIMIT +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, ADD KEY(c1); + +# ref access +UPDATE t1 SET c1='2002-01-07 7:30' WHERE c2='2002-01-05 5:30'; +SELECT * FROM t1 WHERE c1='2002-01-07 7:30'; + +# range access, MRR +INSERT INTO t1 VALUES('2002-01-08 1:30','2002-01-09 1:30',4),('2002-01-08 1:30:5','2002-01-09 1:30:5',5),('2002-01-08 1:30:10','2002-01-09 1:30:10',6),('2002-01-08 1:30:15','2002-01-09 1:30:15',7),('2002-01-08 1:30:20','2002-01-09 1:30:20',8),('2002-01-08 1:30:25','2002-01-09 1:30:25',9),('2002-01-08 1:30:30','2002-01-09 1:30:30',10),('2002-01-08 1:30:35','2002-01-09 1:30:35',11),('2002-01-08 1:30:40','2002-01-09 1:30:40',12),('2002-01-08 1:30:45','2002-01-09 1:30:45',13),('2002-01-08 1:30:50','2002-01-09 1:30:50',14),('2002-01-08 1:30:55','2002-01-09 1:30:55',15),('2002-01-08 1:30:59','2002-01-09 1:30:59',16),('2002-01-08 2:00','2002-01-09 2:00',17),('2002-01-08 2:00:05','2002-01-09 2:00:05',18),('2002-01-08 2:00:10','2002-01-09 2:00:10',19),('2002-01-08 2:00:15','2002-01-09 2:00:15',20); +--sorted_result +SELECT * FROM t1; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <> '2002-01-09 01:30:00' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 >= '20020109013010' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 >= '20020109013010' ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <='02-01-09 1:30:20' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 <='02-01-09 1:30:20' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 <=> '020109013030' ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 <=> '020109013030' ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 BETWEEN '20020109 01:30:40' AND '20020109 01:30:50' ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IN('2002-01-09 1:30:55','2002-01-09 2:00') ORDER BY c2 DESC; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2; +UPDATE t1 SET c1='2003-01-01 1:2:3' WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2 LIMIT 2; +SELECT * FROM t1 WHERE c2>= '2002-02-09 2:00:5' AND c1 < '2002-02-09 2:00:15' ORDER BY c2; +INSERT INTO t1 VALUES('20020301000001','20020302000001',1),('020303010030','020304010030',2),('050103000001','050104000001',3),('5-10-10 1:2:3','5-10-10 1:2:3',4),('0000-00-00 00:00:01',NULL,5); +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t1; +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t1; +## Backward index scan, covering ## +SELECT c1 FROM t1 ORDER BY c1 DESC; +# ref access +--sorted_result +SELECT * FROM t1 WHERE c1='2003-01-01 1:2:3'; +## Range access ## +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > '20030101010203' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 < '03-01-01 1:2:3' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 <=> '2003-01-01 1:2:3' ORDER BY c1,c2; +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN '20020301' AND '2003-01-01 1:2:3' ORDER BY c1,c2 DESC; +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN('2003-01-01 1:2:3','2005-01-03 00:00:01') ORDER BY c1,c2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1; +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1>='2003-01-01 01:02:03' AND c1 <= '20050104000001' ORDER BY c2,c1; + +# Index-merge access +SELECT * FROM t1 WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +UPDATE t1 SET c1='20060101000001' WHERE c1='2003-01-03 1:2:3' OR c2='2002-03-02 00:00:01'; +--sorted_result +SELECT * FROM t1 WHERE c1='20060101000001' OR c2='020304010030'; + +# Testing delete using various access methods +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 TIMESTAMP NOT NULL, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(NOW(),NOW(),3),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),4),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),5),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),6); +INSERT INTO t1 VALUES('1971-01-01 00:00:01','1971-01-01 00:00:01',1),('2038-01-09 03:14:07','2038-01-09 03:14:07',2); +SELECT * FROM t1 WHERE c1 <='1971-01-01 00:00:01'; +DELETE FROM t1 WHERE c1 <='1971-01-01 00:00:01'; +SELECT * FROM t1 WHERE c1 <='1971-01-01 00:00:01'; +SELECT * FROM t1 WHERE c1 >='2038-01-09 03:14:07'; +DELETE FROM t1 WHERE c1 >='2038-01-09 03:14:07'; +SELECT * FROM t1 WHERE c1 >='2038-01-09 03:14:07'; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 > ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +DELETE FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 <> CURRENT_TIMESTAMP() ORDER BY c1; +INSERT INTO t1 VALUES('2001-01-01',NOW(),7),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),8),(ADDTIME(NOW(),'2 01:01:01'),ADDTIME(NOW(),'2 01:01:01'),9),(ADDTIME(NOW(),'3 01:01:01'),ADDTIME(NOW(),'3 01:01:01'),10); +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 < ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c1 <=> ADDTIME(NOW(),'1 01:01:01') ORDER BY c1 DESC; +INSERT INTO t1 VALUES('2001-01-01',NOW(),11),(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'1 01:01:01'),12),(ADDTIME(NOW(),'4 01:01:01'),NULL,13),(ADDTIME(NOW(),'5 01:01:01'),NULL,14); +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +DELETE FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1 BETWEEN NOW() AND ADDTIME(NOW(),'2 01:01:01') ORDER BY c1; +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +DELETE FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c1 IN(NOW(),ADDTIME(NOW(),'3 01:01:01')) ORDER BY c1 DESC; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +DELETE FROM t1 WHERE c2 IS NULL ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NULL ORDER BY c2,c1; +INSERT INTO t1 VALUES(ADDTIME(NOW(),'6 01:01:01'),ADDTIME(NOW(),'6 01:01:01'),15),(ADDTIME(NOW(),'7 01:01:01'),NULL,16),(ADDTIME(NOW(),'8 01:01:01'),ADDTIME(NOW(),'8 01:01:01'),17),(ADDTIME(NOW(),'9 01:01:01'),ADDTIME(NOW(),'9 01:01:01'),18),(ADDTIME(NOW(),'10 01:01:01'),ADDTIME(NOW(),'10 01:01:01'),19); +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +DELETE FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t1 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; +DELETE FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1 LIMIT 2; +SELECT * FROM t1 WHERE c1>=ADDTIME(NOW(),'5 01:01:01') AND c2 < ADDTIME(NOW(),'8 13:25') ORDER BY c1; + +--sorted_result +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +DELETE FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +--sorted_result +SELECT * FROM t1 WHERE c1=ADDTIME(NOW(),'9 01:01:01') OR c2=ADDTIME(NOW(),'10 01:01:01'); +SELECT count(*) FROM t1; +TRUNCATE TABLE t1; +SELECT count(*) FROM t1; + +# Multi-table delete +# eq-ref join +CREATE TABLE t2(c1 TIMESTAMP NOT NULL PRIMARY KEY, c2 TIMESTAMP, c3 INT); +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES('2001-01-01 1:30','2001-01-02 2:30',1),('2001-01-03 3:30','2001-01-02 2:30',2); +INSERT INTO t2 VALUES('2001-01-02 2:30','2001-01-03 3:30',1),('2001-01-04 4:30','2001-01-05 5:30',2); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DROP TABLE t1,t2; + diff --git a/mysql-test/suite/engines/iuds/t/update_delete_number.test b/mysql-test/suite/engines/iuds/t/update_delete_number.test new file mode 100644 index 00000000..ce3f9014 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/update_delete_number.test @@ -0,0 +1,1784 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2; +--enable_warnings + +######## Running UPDATE tests for INT ######## + +# Create table +CREATE TABLE t1(c1 INT UNSIGNED NOT NULL, c2 INT SIGNED NULL, c3 INT, INDEX idx2(c2)); + +# Insert into tables +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +--sorted_result +SELECT * FROM t1; + +# Update order by limit +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1 WHERE c1=110; + +# Update with NULL(null to numbers, numbers to null) +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +--sorted_result +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=120; + +# Update negative value to unsigned col +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-102; + +# Update range values +UPDATE t1 SET c1=0,c2=-2147483648 WHERE c1=103 AND c2=-103; +--sorted_result +SELECT * FROM t1 WHERE c1=0 AND c2=-2147483648; +UPDATE t1 SET c1=4294967295,c2=2147483647 WHERE c1=104 OR c2=105; +--sorted_result +SELECT * FROM t1 WHERE c1=4294967295 AND c2=2147483647; +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +--sorted_result +SELECT * FROM t1 WHERE c2=0; + +# Update outside range, would be clipped to closest endpoint +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=4294967296,c2=2147483648 WHERE c2 BETWEEN -108 AND -106; +SELECT COUNT(*) FROM t1 WHERE c1=4294967296 AND c2=2147483648 /* no rows */; +--sorted_result +SELECT * FROM t1 WHERE c1=4294967295 AND c2=2147483647; +UPDATE IGNORE t1 SET c2=-2147483649 WHERE c1=109 ORDER BY c1; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=109; + +# Update ignore on bad null error +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c2=-110; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-110; +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +--sorted_result +SELECT * FROM t1 WHERE c1=0; + +# Update with multi-range +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1; + +# Create table with AUTO_INCREMENT Primary Key +CREATE TABLE t2(c1 INT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INT UNSIGNED NULL, c3 INT); + +# Update ignore on duplicate key error +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +--error ER_DUP_ENTRY +UPDATE t2 SET c1=1 WHERE c1=3; +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +--sorted_result +SELECT c1 FROM t2; + +# Update the auto_incremented value with boundary values to unsigned/signed field +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +# Update the unsigned auto_increment field +UPDATE t1 SET c1=4294967295,c2=2147483647 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE IGNORE t2 SET c1=0,c2=-2147483648 WHERE c2=2; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +# Update the signed auto_increment field +UPDATE t2 SET c1=2147483647,c2=4294967295 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=-2147483648,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; + +# Multi table update +CREATE TABLE mt1 (c1 INT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 INT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 INT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +--sorted_result +SELECT * FROM mt1; +--sorted_result +SELECT * FROM mt2; +--sorted_result +SELECT * FROM mt3; +DROP TABLE mt1,mt2,mt3; + +# Update,Select,Delete,Select using various access methods +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 INT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); + +# Update using various methods + +# Using eq-ref +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +--sorted_result +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; + +ALTER TABLE t2 CHANGE c1 c1 INT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 INT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-2147483648,0,13),(2147483647,4294967295,14),(0,2147483648,15),(2147483647,2147483647,16); + +# range access +UPDATE t2 SET c1=-2147483648 WHERE c2 <> 0 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c2; +UPDATE t2 SET c1=-2147483648 WHERE c2 >= 0 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 0 ORDER BY c2 DESC; +UPDATE t2 SET c1=-2147483648 WHERE c2 <= 3 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 3 ORDER BY c2; +UPDATE t2 SET c1=-2147483648 WHERE c2 <=> 4 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 4 ORDER BY c2; +UPDATE t2 SET c1=-2147483648 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2; +UPDATE t2 SET c1=-2147483648 WHERE c2 IN(8,9) ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(8,9) ORDER BY c2 DESC; +UPDATE t2 SET c1=-2147483648 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +UPDATE t2 SET c1=-2147483648 WHERE c2>= 6 AND c2 < 9 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2>= 6 AND c2 < 9 ORDER BY c2; + +# Using index-merge +UPDATE t2 SET c1=-2147483648 WHERE c1=-12 OR c2=1; +--sorted_result +SELECT * FROM t2 WHERE c1=-2147483648; + +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t2; +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t2; +## Backward index scan, covering ## +SELECT c1 FROM t2 ORDER BY c1 DESC; +# ref access +--sorted_result +SELECT * FROM t2 WHERE c1=-2147483648; +## Range access ## +SELECT * FROM t2 WHERE c1 <> -2147483648 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> -2147483648 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -2147483648 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= -2147483648 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -2147483648 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= -2147483648 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -2147483648 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> -2147483648 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -2147483648 AND 2147483647 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN -2147483648 AND 2147483647 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-2147483648,2147483647) ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN(-2147483648,2147483647) ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1>=-2147483648 AND c1 <= 2147483647 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1>=-2147483648 AND c1 <= 2147483647 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; + +# Test multi update with different join methods +CREATE TABLE mt1 (a int not null primary key, b int not null, key (b)); +CREATE TABLE mt2 (a int not null primary key, b int not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +# Full join, without key +update mt1,mt2 set mt1.a=mt1.a+100; +--sorted_result +select * from mt1; +# unique key +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +--sorted_result +select * from mt1; +# ref key +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +--sorted_result +select * from mt1; +# Range key (in mt1) +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +# test for non-updating table which is also used in sub-select +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; + +# Testing delete using various access methods +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); + +# Using Index-merge +SELECT * FROM t2 WHERE c1=127 OR c2=3; +DELETE FROM t2 WHERE c1=127 OR c2=3; +SELECT * FROM t2 WHERE c1=127 OR c2=3; + +# Range access +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; + +# Muti-table delete + +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); + +# join (Range checked for each record) +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +--error ER_UPDATE_TABLE_USED +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); + +# eq-ref join +CREATE TABLE t3(c1 INT UNSIGNED NOT NULL PRIMARY KEY, c2 INT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 INT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +--sorted_result +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; + +DROP TABLE t1,t2,t3,t4; + +# More tests for updates............. +# Update with ORDER BY +create table mt1 (a int not null, b int not null, key (a)); +insert into mt1 values (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3); +SET @tmp=0; +update mt1 set b=(@tmp:=@tmp+1) order by a; +update mt1 set b=99 where a=1 order by b asc limit 1; +select * from mt1 order by a,b; +update mt1 set b=100 where a=1 order by b desc limit 2; +update mt1 set a=a+10+b where a=1 order by b; +select * from mt1 order by a,b; +create table mt2 (a int not null, b int not null); +insert into mt2 values (1,1),(1,2),(1,3); +update mt1 set b=(select distinct 1 from (select * from mt2) a); +drop table mt1,mt2; + +# Multi table update +create table mt1 (f1 int); +create table mt2 (f2 int); +insert into mt1 values(1),(2); +insert into mt2 values(1),(1); +--enable_info +update mt1,mt2 set f1=3,f2=3 where f1=f2 and f1=1; +--disable_info +update mt2 set f2=1; +update mt1 set f1=1 where f1=3; +--enable_info +update mt2,mt1 set f1=3,f2=3 where f1=f2 and f1=1; +--disable_info +--sorted_result +SELECT * FROM mt1; +--sorted_result +SELECT * FROM mt2; +drop table mt1,mt2; + +# Update with subquery +create table mt1(f1 int, f2 int); +create table mt2(f3 int, f4 int); +create index idx on mt2(f3); +insert into mt1 values(1,0),(2,0); +insert into mt2 values(1,1),(2,2); +UPDATE mt1 SET mt1.f2=(SELECT MAX(mt2.f4) FROM mt2 WHERE mt2.f3=mt1.f1); +select * from mt1; +drop table mt1,mt2; + +# Update and partial key part +create table mt1 (a int, b char(255), key(a, b(20))); +insert into mt1 values (0, '1'); +update mt1 set b = b + 1 where a = 0; +--sorted_result +select * from mt1; +drop table mt1; + +# Update with subquery with ref built with a key from the updated table +create table mt1(f1 int, f2 int); +create table mt2(f3 int, f4 int); +create index idx on mt2(f3); +insert into mt1 values(1,0),(2,0); +insert into mt2 values(1,1),(2,2); +UPDATE mt1 SET mt1.f2=(SELECT MAX(mt2.f4) FROM mt2 WHERE mt2.f3=mt1.f1); +--sorted_result +select * from mt1; +drop table mt1,mt2; + +# Update on last_insert_id() +create table mt1 (id int not null auto_increment primary key, id_str varchar(32)); +insert into mt1 (id_str) values ("test"); +update mt1 set id_str = concat(id_str, id) where id = last_insert_id(); +--sorted_result +select * from mt1; +drop table mt1; + +# More updates +create table mt1 (n int(10) not null primary key, d int(10)); +create table mt2 (n int(10) not null primary key, d int(10)); +insert into mt1 values(1,1), (3,3); +insert into mt2 values(1,10),(2,20); +UPDATE mt2 left outer join mt1 on mt1.n=mt2.n SET mt1.d=mt2.d; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +drop table mt1,mt2; +create table mt1 (n int(10), d int(10)); +create table mt2 (n int(10), d int(10)); +insert into mt1 values(1,1),(1,2); +insert into mt2 values(1,10),(2,20); +UPDATE mt1,mt2 SET mt1.d=mt2.d,mt2.d=30 WHERE mt1.n=mt2.n; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +drop table mt1,mt2; +create table mt1 (n int(10), d int(10)); +create table mt2 (n int(10), d int(10)); +insert into mt1 values(1,1),(3,2); +insert into mt2 values(1,10),(1,20); +UPDATE mt1,mt2 SET mt1.d=mt2.d,mt2.d=30 WHERE mt1.n=mt2.n; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +UPDATE mt1 a ,mt2 b SET a.d=b.d,b.d=30 WHERE a.n=b.n; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +DELETE a, b FROM mt1 a,mt2 b where a.n=b.n; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +drop table mt1,mt2; + +# Multi table UPDATE IGNORE on duplicate keys +CREATE TABLE mt1 (`colA` int(10) unsigned NOT NULL auto_increment, `colB` int(11) NOT NULL default '0', PRIMARY KEY (`colA`)); +INSERT INTO mt1 VALUES (4433,5424); +CREATE TABLE mt2 (`colC` int(10) unsigned NOT NULL default '0', `colA` int(10) unsigned NOT NULL default '0', `colD` int(10) unsigned NOT NULL default '0', `colE` int(10) unsigned NOT NULL default '0', `colF` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`colC`,`colA`,`colD`,`colE`)); +INSERT INTO mt2 VALUES (3,4433,10005,495,500); +INSERT INTO mt2 VALUES (3,4433,10005,496,500); +INSERT INTO mt2 VALUES (3,4433,10009,494,500); +INSERT INTO mt2 VALUES (3,4433,10011,494,500); +INSERT INTO mt2 VALUES (3,4433,10005,497,500); +INSERT INTO mt2 VALUES (3,4433,10013,489,500); +INSERT INTO mt2 VALUES (3,4433,10005,494,500); +INSERT INTO mt2 VALUES (3,4433,10005,493,500); +INSERT INTO mt2 VALUES (3,4433,10005,492,500); +UPDATE IGNORE mt2,mt1 set mt2.colE = mt2.colE + 1,colF=0 WHERE mt1.colA = mt2.colA AND (mt1.colB & 4096) > 0 AND (colE + 1) < colF; +--sorted_result +SELECT * FROM mt2; +DROP TABLE mt1,mt2; + +# Test multi-update and multi-delete with impossible where +create table mt1(id1 smallint(5), field char(5)); +create table mt2(id2 smallint(5), field char(5)); +insert into mt1 values (1, 'a'), (2, 'aa'); +insert into mt2 values (1, 'b'), (2, 'bb'); +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +update mt2 inner join mt1 on mt1.id1=mt2.id2 set mt2.field=mt1.field where 0=1; +update mt2, mt1 set mt2.field=mt1.field where mt1.id1=mt2.id2 and 0=1; +delete mt1, mt2 from mt2 inner join mt1 on mt1.id1=mt2.id2 where 0=1; +delete mt1, mt2 from mt2,mt1 where mt1.id1=mt2.id2 and 0=1; +drop table mt1,mt2; + +create table mt1 (n numeric(10)); +create table mt2 (n numeric(10)); +insert into mt2 values (1),(2),(4),(8),(16),(32); +--sorted_result +select * from mt2 left outer join mt1 using (n); +delete mt1,mt2 from mt2 left outer join mt1 using (n); +--sorted_result +select * from mt2 left outer join mt1 using (n); +drop table mt1,mt2 ; + +create table mt1(id1 int not null primary key, t varchar(100)) pack_keys = 1; +create table mt2(id2 int not null, t varchar(100), index(id2)) pack_keys = 1; +disable_query_log; +let $1 = 1000; +while ($1) +{ +let $2 = 5; +eval insert into mt1 values ($1,'aaaaaaaaaaaaaaaaaaaa'); +while ($2) +{ +eval insert into mt2(id2,t) values ($1,'bbbbbbbbbbbbbbbbb'); +dec $2; +} +dec $1; +} +enable_query_log; +delete mt1 from mt1,mt2 where mt1.id1 = mt2.id2 and mt1.id1 > 500; +drop table mt1,mt2; + +# Test delete with outer join and const tables +--disable_warnings +create table mt1 (aclid bigint not null primary key, status tinyint(1) not null); +create table mt2 (refid bigint not null primary key, aclid bigint, index idx_acl(aclid)); +--enable_warnings +insert into mt2 values(1,null); +delete mt2, mt1 from mt2 left join mt1 on (mt2.aclid=mt1.aclid) where mt2.refid='1'; +drop table mt1, mt2; + +# multi delete wrong table check +create table mt1 (a int, primary key (a)); +create table mt2 (a int, primary key (a)); +create table mt3 (a int, primary key (a)); +-- error ER_UNKNOWN_TABLE +delete mt1,mt3 from mt1,mt2 where mt1.a=mt2.a and mt2.a=(select mt3.a from mt3 where mt1.a=mt3.a); +drop table mt1, mt2, mt3; +# multi* unique updating table check +create table mt1 (col1 int); +create table mt2 (col1 int); +update mt1,mt2 set mt1.col1 = (select max(col1) from mt1) where mt1.col1 = mt2.col1; +-- error ER_UPDATE_TABLE_USED +delete mt1 from mt1,mt2 where mt1.col1 < (select max(col1) from mt1) and mt1.col1 = mt2.col1; +drop table mt1,mt2; + +# With Foreign Key +CREATE TABLE IF NOT EXISTS `mt1` (`id` int(11) NOT NULL auto_increment, `tst` text, `tsmt1` text, PRIMARY KEY (`id`)); +CREATE TABLE IF NOT EXISTS `mt2` (`ID` int(11) NOT NULL auto_increment, `ParId` int(11) default NULL, `tst` text, `tsmt1` text, PRIMARY KEY (`ID`), KEY `IX_ParId_mt2` (`ParId`), FOREIGN KEY (`ParId`) REFERENCES `mt1` (`id`)); +INSERT INTO mt1(tst,tsmt1) VALUES("MySQL","MySQL AB"), ("MSSQL","Microsoft"), ("ORACLE","ORACLE"); +INSERT INTO mt2(ParId) VALUES(1), (2), (3); +--sorted_result +select * from mt2; +UPDATE mt2, mt1 SET mt2.tst = mt1.tst, mt2.tsmt1 = mt1.tsmt1 WHERE mt2.ParId = mt1.Id; +--sorted_result +select * from mt2; +drop table mt2,mt1; + +# Test alias +CREATE TABLE mt1 ( a int ); +CREATE TABLE mt2 ( a int ); +DELETE mt1 FROM mt1, mt2 AS t3; +DELETE t4 FROM mt1, mt1 AS t4; +DELETE t3 FROM mt1 AS t3, mt1 AS t4; +--error ER_UNKNOWN_TABLE +DELETE mt1 FROM mt1 AS t3, mt2 AS t4; +INSERT INTO mt1 values (1),(2); +INSERT INTO mt2 values (1),(2); +DELETE mt1 FROM mt1 AS mt2, mt2 AS mt1 where mt1.a=mt2.a and mt1.a=1; +SELECT * from mt1; +SELECT * from mt2; +DELETE mt2 FROM mt1 AS mt2, mt2 AS mt1 where mt1.a=mt2.a and mt1.a=2; +SELECT * from mt1; +SELECT * from mt2; +DROP TABLE mt1,mt2; + +create table mt1(id1 int not null auto_increment primary key, t char(12)); +create table mt2(id2 int not null, t char(12)); +create table mt3(id3 int not null, t char(12), index(id3)); +disable_query_log; +let $1 = 100; +while ($1) +{ +let $2 = 5; +eval insert into mt1(t) values ('$1'); +while ($2) +{ +eval insert into mt2(id2,t) values ($1,'$2'); +let $3 = 10; +while ($3) +{ +eval insert into mt3(id3,t) values ($1,'$2'); +dec $3; +} +dec $2; +} +dec $1; +} +enable_query_log; +select count(*) from mt1 where id1 > 95; +select count(*) from mt2 where id2 > 95; +select count(*) from mt3 where id3 > 95; +update mt1,mt2,mt3 set mt1.t="aaa", mt2.t="bbb", mt3.t="cc" where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 90; +select count(*) from mt1 where t = "aaa"; +select count(*) from mt1 where id1 > 90; +select count(*) from mt2 where t = "bbb"; +select count(*) from mt2 where id2 > 90; +select count(*) from mt3 where t = "cc"; +select count(*) from mt3 where id3 > 90; +delete mt1.*, mt2.*, mt3.* from mt1,mt2,mt3 where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 95; +check table mt1, mt2, mt3; +select count(*) from mt1 where id1 > 95; +select count(*) from mt2 where id2 > 95; +select count(*) from mt3 where id3 > 95; +delete mt1, mt2, mt3 from mt1,mt2,mt3 where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 5; +select count(*) from mt1 where id1 > 5; +select count(*) from mt2 where id2 > 5; +select count(*) from mt3 where id3 > 5; +delete from mt1, mt2, mt3 using mt1,mt2,mt3 where mt1.id1 = mt2.id2 and mt2.id2 = mt3.id3 and mt1.id1 > 0; +# These queries will force a scan of the table +select count(*) from mt1 where id1; +select count(*) from mt2 where id2; +select count(*) from mt3 where id3; +drop table mt1,mt2,mt3; + +######## Running UPDATE tests for TINYINT ######## + +# Create table +CREATE TABLE t1(c1 TINYINT UNSIGNED NOT NULL, c2 TINYINT SIGNED NULL, c3 INT, INDEX idx2(c2)); + +# Insert into tables +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +--sorted_result +SELECT * FROM t1; + +# Update order by limit +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1 WHERE c1=110; + +# Update with NULL(null to numbers, numbers to null) +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +--sorted_result +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=120; + +# Update negative value to unsigned col +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-102; + +# Update range values +UPDATE t1 SET c1=0,c2=-128 WHERE c1=103 AND c2=-103; +--sorted_result +SELECT * FROM t1 WHERE c1=0 AND c2=-128; +UPDATE t1 SET c1=255,c2=127 WHERE c1=104 OR c2=105; +--sorted_result +SELECT * FROM t1 WHERE c1=255 AND c2=127; +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +--sorted_result +SELECT * FROM t1 WHERE c2=0; + +# Update outside range, would be clipped to closest endpoint +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=256,c2=128 WHERE c2 BETWEEN -108 AND -106; +SELECT COUNT(*) FROM t1 WHERE c1=256 AND c2=128 /* no rows */; +--sorted_result +SELECT * FROM t1 WHERE c1=255 AND c2=127; +UPDATE IGNORE t1 SET c2=-129 WHERE c1=109 ORDER BY c1; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=109; + +# Update ignore on bad null error +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c2=-110; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-110; +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +--sorted_result +SELECT * FROM t1 WHERE c1=0; + +# Update with multi-range +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1; + +# Create table with AUTO_INCREMENT Primary Key +CREATE TABLE t2(c1 TINYINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 TINYINT UNSIGNED NULL, c3 INT); + +# Update ignore on duplicate key error +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +--error ER_DUP_ENTRY +UPDATE t2 SET c1=1 WHERE c1=3; +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +--sorted_result +SELECT c1 FROM t2; + +# Update the auto_increment value +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +# Update the unsigned auto_increment field +UPDATE t1 SET c1=255,c2=127 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE IGNORE t2 SET c1=0,c2=-128 WHERE c2=2; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +# Update the signed auto_increment field +UPDATE t2 SET c1=127,c2=255 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=-128,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; + +# Multi table update +CREATE TABLE mt1 (c1 TINYINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 TINYINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 TINYINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +--sorted_result +SELECT * FROM mt1; +--sorted_result +SELECT * FROM mt2; +--sorted_result +SELECT * FROM mt3; +DROP TABLE mt1,mt2,mt3; + +# Update,Select,Delete,Select using various access methods +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 TINYINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); + +# Update using various methods +# eq-ref join +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +--sorted_result +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; + +ALTER TABLE t2 CHANGE c1 c1 TINYINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 TINYINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-128,0,13),(127,255,14),(0,128,15),(127,127,16); + +# range access +UPDATE t2 SET c1=-128 WHERE c2 <> 0 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c2; +UPDATE t2 SET c1=-128 WHERE c2 >= 0 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 >= 0 ORDER BY c2 DESC; +UPDATE t2 SET c1=-128 WHERE c2 <= 3 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 <= 3 ORDER BY c2; +UPDATE t2 SET c1=-128 WHERE c2 <=> 4 ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 4 ORDER BY c2; +UPDATE t2 SET c1=-128 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 4 AND 7 ORDER BY c2; +UPDATE t2 SET c1=-128 WHERE c2 IN(8,9) ORDER BY c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(8,9) ORDER BY c2 DESC; +UPDATE t2 SET c1=-128 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +UPDATE t2 SET c1=-128 WHERE c2>= 6 AND c2 < 9 ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2>= 6 AND c2 < 9 ORDER BY c2; + +# Using index-merge +UPDATE t2 SET c1=-128 WHERE c1=-12 OR c2=1; +--sorted_result +SELECT * FROM t2 WHERE c1=-128; + +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t2; +## Forward index scan, covering ## +--sorted_result +SELECT c1 FROM t2; +## Backward index scan, covering ## +SELECT c1 FROM t2 ORDER BY c1 DESC; +# ref access +--sorted_result +SELECT * FROM t2 WHERE c1=-128; +## Range access ## +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <> -128 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -128 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 < -128 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 <= -128 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 <=> -128 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1,c2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1,c2 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-128,127) ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1 IN(-128,127) ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c1>=-128 AND c1 <= 127 ORDER BY c1,c2 DESC; +SELECT * FROM t2 WHERE c1>=-128 AND c1 <= 127 ORDER BY c1,c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; + +--sorted_result +SELECT * FROM t2 WHERE c1=-128 OR c2=3; + +# Test multi update with different join methods +CREATE TABLE mt1 (a tinyint not null primary key, b tinyint not null, key (b)); +CREATE TABLE mt2 (a tinyint not null primary key, b tinyint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +# Full join, without key +update mt1,mt2 set mt1.a=mt1.a+100; +--sorted_result +select * from mt1; +# unique key +update ignore mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +--sorted_result +select * from mt1; +# ref key +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +--sorted_result +select * from mt1; +# Range key (in mt1) +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +# test for non-updating table which is also used in sub-select +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; + +# Testing delete using various access methods +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); + +# Using Index-merge +# explain SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; + +# Range access +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; + +# Muti-table delete + +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); + +# join(Range checked for each record) +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +--error ER_UPDATE_TABLE_USED +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); + +# eq-ref join +CREATE TABLE t3(c1 TINYINT UNSIGNED NOT NULL PRIMARY KEY, c2 TINYINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 TINYINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +--sorted_result +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DROP TABLE t1,t2,t3,t4; + +######## Running UPDATE tests for SMALLINT ######## + +# Create table +CREATE TABLE t1(c1 SMALLINT UNSIGNED NOT NULL, c2 SMALLINT SIGNED NULL, c3 INT, INDEX idx2(c2)); + +# Insert into tables +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +--sorted_result +SELECT * FROM t1; + +# Update order by limit +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1 WHERE c1=110; + +# Update with NULL(null to numbers, numbers to null) +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +--sorted_result +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=120; + +# Update negative value to unsigned col +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-102; + +# Update range values +UPDATE t1 SET c1=0,c2=-32768 WHERE c1=103 AND c2=-103; +--sorted_result +SELECT * FROM t1 WHERE c1=0 AND c2=-32768; +UPDATE t1 SET c1=65535,c2=32767 WHERE c1=104 OR c2=105; +--sorted_result +SELECT * FROM t1 WHERE c1=65535 AND c2=32767; +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +--sorted_result +SELECT * FROM t1 WHERE c2=0; + +# Update outside range, would be clipped to closest endpoint +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=65536,c2=32768 WHERE c2 BETWEEN -108 AND -106; +SELECT COUNT(*) FROM t1 WHERE c1=65536 AND c2=32768 /* no rows */; +--sorted_result +SELECT * FROM t1 WHERE c1=65535 AND c2=32767; +UPDATE IGNORE t1 SET c2=-32769 WHERE c1=109 ORDER BY c1; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=109; + +# Update ignore on bad null error +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c2=-110; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-110; +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +--sorted_result +SELECT * FROM t1 WHERE c1=0; + +# Update with multi-range +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1; + +# Create table with AUTO_INCREMENT Primary Key +CREATE TABLE t2(c1 SMALLINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 SMALLINT UNSIGNED NULL, c3 INT); + +# Update ignore on duplicate key error +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +--error ER_DUP_ENTRY +UPDATE t2 SET c1=1 WHERE c1=3; +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +--sorted_result +SELECT c1 FROM t2; + +# Update the auto_incremented value with boundary values to unsigned/signed field +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +# Update the unsigned auto_increment field +UPDATE t1 SET c1=65535,c2=32767 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE IGNORE t2 SET c1=0,c2=-32768 WHERE c2=2; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +# Update the signed auto_increment field +UPDATE t2 SET c1=32767,c2=65535 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=-32768,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; + +# Multi table update +CREATE TABLE mt1 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +--sorted_result +SELECT * FROM mt1; +--sorted_result +SELECT * FROM mt2; +--sorted_result +SELECT * FROM mt3; +DROP TABLE mt1,mt2,mt3; + +# Update,Select,Delete,Select using various access methods +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 SMALLINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); + +# Update using various methods +# eq-ref join +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +--sorted_result +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +ALTER TABLE t2 CHANGE c1 c1 SMALLINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 SMALLINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-32768,0,12),(0,255,13),(32767,65535,14); + +# range access +UPDATE t2 SET c2=65535 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c1; +UPDATE t2 SET c2=65535 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1 DESC; +UPDATE t2 SET c2=65535 WHERE c1 <= -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -9 ORDER BY c1; +UPDATE t2 SET c2=65535 WHERE c1 <=> -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -3 ORDER BY c1; +UPDATE t2 SET c2=65535 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1; +UPDATE t2 SET c2=65535 WHERE c1 IN(-7,-8) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-7,-8) ORDER BY c1 DESC; +UPDATE t2 SET c2=65535 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +UPDATE t2 SET c2=65535 WHERE c1>= -32768 AND c1 < -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1>= -32768 AND c1 < -9 ORDER BY c1; + +# Using index-merge +UPDATE t2 SET c2=65535 WHERE c1=-2 OR c2=1; +--sorted_result +SELECT * FROM t2 WHERE c2=65535; + +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t2; +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t2; +## Backward index scan, covering ## +SELECT c2 FROM t2 ORDER BY c2 DESC; +# ref access +--sorted_result +SELECT * FROM t2 WHERE c2=65535; +## Range access ## +SELECT * FROM t2 WHERE c2 <> 65535 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 <> 65535 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > 65535 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 >= 65535 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 < 65535 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 <= 65535 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 65535 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 <=> 65535 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 65535 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 65535 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(0,65535) ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IN(0,65535) ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 65535 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 65535 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; + +--sorted_result +SELECT * FROM t2 WHERE c2=65535 OR c1=-4; + +# Test multi update with different join methods +CREATE TABLE mt1 (a smallint not null primary key, b smallint not null, key (b)); +CREATE TABLE mt2 (a smallint not null primary key, b smallint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +# Full join, without key +update mt1,mt2 set mt1.a=mt1.a+100; +--sorted_result +select * from mt1; +# unique key +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +--sorted_result +select * from mt1; +# ref key +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +--sorted_result +select * from mt1; +# Range key (in mt1) +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +# test for non-updating table which is also used in sub-select +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; + +# Testing delete using various access methods +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); + +# Using Index-merge +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; + +# Range access +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +DELETE FROM t2 WHERE c1=-3 OR c2=2; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; + +# Muti-table delete + +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); + +# join(Range checked for each record) +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +--error ER_UPDATE_TABLE_USED +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); + +# eq-ref join +CREATE TABLE t3(c1 SMALLINT UNSIGNED NOT NULL PRIMARY KEY, c2 SMALLINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 SMALLINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +--sorted_result +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DROP TABLE t1,t2,t3,t4; + +######## Running UPDATE tests for MEDIUMINT ######## + +# Create table +CREATE TABLE t1(c1 MEDIUMINT UNSIGNED NOT NULL, c2 MEDIUMINT SIGNED NULL, c3 INT, INDEX idx2(c2)); + +# Insert into tables +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +--sorted_result +SELECT * FROM t1; + +# Update order by limit +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1 WHERE c1=110; + +# Update with NULL(null to numbers, numbers to null) +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +--sorted_result +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=120; + +# Update negative value to unsigned col +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-102; + +# Update range values +UPDATE t1 SET c1=0,c2=-8388608 WHERE c1=103 AND c2=-103; +--sorted_result +SELECT * FROM t1 WHERE c1=0 AND c2=-8388608; +UPDATE t1 SET c1=16777215,c2=8388607 WHERE c1=104 OR c2=105; +--sorted_result +SELECT * FROM t1 WHERE c1=16777215 AND c2=8388607; +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +--sorted_result +SELECT * FROM t1 WHERE c2=0; + +# Update outside range, would be clipped to closest endpoint +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=16777216,c2=8388608 WHERE c2 BETWEEN -108 AND -106; +SELECT COUNT(*) FROM t1 WHERE c1=16777216 AND c2=8388608 /* no rows */; +--sorted_result +SELECT * FROM t1 WHERE c1=16777215 AND c2=8388607; +UPDATE IGNORE t1 SET c2=-8388609 WHERE c1=109 ORDER BY c1; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=109; + +# Update ignore on bad null error +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c2=-110; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-110; +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +--sorted_result +SELECT * FROM t1 WHERE c1=0; + +# Update with multi-range +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1; + +# Create table with AUTO_INCREMENT Primary Key +CREATE TABLE t2(c1 MEDIUMINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 MEDIUMINT UNSIGNED NULL, c3 INT); + +# Update ignore on duplicate key error +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +--error ER_DUP_ENTRY +UPDATE t2 SET c1=1 WHERE c1=3; +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +--sorted_result +SELECT c1 FROM t2; + +# Update the auto_incremented value with boundary values to unsigned/signed field +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +# Update the unsigned auto_increment field +UPDATE t1 SET c1=16777215,c2=8388607 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE IGNORE t2 SET c1=0,c2=-8388608 WHERE c2=2; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +# Update the signed auto_increment field +UPDATE t2 SET c1=8388607,c2=16777215 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=-8388608,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; + +# Multi table update +CREATE TABLE mt1 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +--sorted_result +SELECT * FROM mt1; +--sorted_result +SELECT * FROM mt2; +--sorted_result +SELECT * FROM mt3; +DROP TABLE mt1,mt2,mt3; + +# Update,Select,Delete,Select using various access methods +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 MEDIUMINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); + +# Update using various methods +# eq-ref join +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +--sorted_result +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +ALTER TABLE t2 CHANGE c1 c1 MEDIUMINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 MEDIUMINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-8388608,0,12),(0,255,13),(8388607,16777215,14); + +# range access +UPDATE t2 SET c2=16777215 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c1; +UPDATE t2 SET c2=16777215 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1 DESC; +UPDATE t2 SET c2=16777215 WHERE c1 <= -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -9 ORDER BY c1; +UPDATE t2 SET c2=16777215 WHERE c1 <=> -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -3 ORDER BY c1; +UPDATE t2 SET c2=16777215 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1; +UPDATE t2 SET c2=16777215 WHERE c1 IN(-7,-8) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-7,-8) ORDER BY c1 DESC; +UPDATE t2 SET c2=16777215 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +UPDATE t2 SET c2=16777215 WHERE c1>= -8388608 AND c1 < -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1>= -8388608 AND c1 < -9 ORDER BY c1; + +# Using index-merge +UPDATE t2 SET c2=16777215 WHERE c1=-2 OR c2=1; +--sorted_result +SELECT * FROM t2 WHERE c2=16777215; + +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t2; +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t2; +## Backward index scan, covering ## +SELECT c2 FROM t2 ORDER BY c2 DESC; +# ref access +--sorted_result +SELECT * FROM t2 WHERE c2=16777215; +## Range access ## +SELECT * FROM t2 WHERE c2 <> 16777215 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 <> 16777215 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > 16777215 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 >= 16777215 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 < 16777215 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 <= 16777215 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 16777215 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 <=> 16777215 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 16777215 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 16777215 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(0,16777215) ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IN(0,16777215) ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 16777215 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 16777215 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; + +--sorted_result +SELECT * FROM t2 WHERE c2=16777215 OR c1=-4; + +# Test multi update with different join methods +CREATE TABLE mt1 (a mediumint not null primary key, b mediumint not null, key (b)); +CREATE TABLE mt2 (a mediumint not null primary key, b mediumint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +# Full join, without key +update mt1,mt2 set mt1.a=mt1.a+100; +--sorted_result +select * from mt1; +# unique key +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +--sorted_result +select * from mt1; +# ref key +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +--sorted_result +select * from mt1; +# Range key (in mt1) +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +# test for non-updating table which is also used in sub-select +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; + +# Testing delete using various access methods +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); + +# Using Index-merge +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; + +# Range access +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +DELETE FROM t2 WHERE c1=-3 OR c2=2; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; + +# Muti-table delete + +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); + +# join(Range checked for each record) +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +--error ER_UPDATE_TABLE_USED +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); + +# eq-ref join +CREATE TABLE t3(c1 MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, c2 MEDIUMINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 MEDIUMINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +--sorted_result +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DROP TABLE t1,t2,t3,t4; + +######## Running UPDATE tests for BIGINT ######## + +# Create table +CREATE TABLE t1(c1 BIGINT UNSIGNED NOT NULL, c2 BIGINT SIGNED NULL, c3 INT, INDEX idx2(c2)); + +# Insert into tables +INSERT INTO t1 VALUES(0,-128,0),(1,1,1),(2,2,2),(0,\N,3),(101,-101,4),(102,-102,5),(103,-103,6),(104,-104,7),(105,-105,8); +--sorted_result +SELECT * FROM t1; + +# Update order by limit +UPDATE t1 SET c1=110 WHERE c2 >-128 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1 WHERE c1=110; + +# Update with NULL(null to numbers, numbers to null) +UPDATE t1 SET c1=c1+1,c2=NULL WHERE c1=101; +--sorted_result +SELECT * FROM t1 WHERE c1=102 AND c2 IS NULL; +UPDATE t1 SET c1=120 WHERE c2 IS NULL; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=120; + +# Update negative value to unsigned col +UPDATE IGNORE t1 SET c1=-120 WHERE c2=-102; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-102; + +# Update range values +UPDATE t1 SET c1=0,c2=-9223372036854775808 WHERE c1=103 AND c2=-103; +--sorted_result +SELECT * FROM t1 WHERE c1=0 AND c2=-9223372036854775808; +UPDATE t1 SET c1=18446744073709551615,c2=9223372036854775807 WHERE c1=104 OR c2=105; +--sorted_result +SELECT * FROM t1 WHERE c1=18446744073709551615 AND c2=9223372036854775807; +UPDATE t1 SET c2=0 WHERE c1 IN (1,2); +--sorted_result +SELECT * FROM t1 WHERE c2=0; + +# Update outside range, would be clipped to closest endpoint +INSERT INTO t1 VALUES(106,-106,9),(107,-107,10),(108,-108,11),(109,-109,12),(255,127,13); +UPDATE IGNORE t1 SET c1=18446744073709551616,c2=9223372036854775808 WHERE c2 BETWEEN -108 AND -106; +SELECT COUNT(*) FROM t1 WHERE c1=18446744073709551616 AND c2=9223372036854775808 /* no rows */; +--sorted_result +SELECT * FROM t1 WHERE c1=18446744073709551615 AND c2=9223372036854775807; +UPDATE IGNORE t1 SET c2=-9223372036854775809 WHERE c1=109 ORDER BY c1; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c1=109; + +# Update ignore on bad null error +INSERT INTO t1 VALUES(110,-110,14),(111,-111,15); +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c2=-110; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-110 /* updates to default value 0 */; +--sorted_result +SELECT c1,c2 FROM t1 WHERE c2=-110; +SET SQL_MODE=DEFAULT; +UPDATE IGNORE t1 SET c1=NULL WHERE c2=-111 /* updates to default value 0 */; +--sorted_result +SELECT * FROM t1 WHERE c1=0; + +# Update with multi-range +SELECT * FROM t1 WHERE c2>=-101 AND c1<=101 ORDER BY c2; +UPDATE t1 SET c1=c1+1,c2=c2+1 WHERE c2>=-101 AND c1<=101 ORDER BY c2 LIMIT 2; +--sorted_result +SELECT * FROM t1; + +# Create table with AUTO_INCREMENT Primary Key +CREATE TABLE t2(c1 BIGINT SIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 BIGINT UNSIGNED NULL, c3 INT); + +# Update ignore on duplicate key error +INSERT INTO t2(c1) VALUES(1),(2),(3),(4),(5); +--error ER_DUP_ENTRY +UPDATE t2 SET c1=1 WHERE c1=3; +UPDATE IGNORE t2 SET c1=1 WHERE c1>=3; +--sorted_result +SELECT c1 FROM t2; + +# Update the auto_incremented value with boundary values to unsigned/signed field +TRUNCATE TABLE t1; +ALTER TABLE t1 CHANGE c1 c1 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(c1); +INSERT INTO t1 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12); +INSERT INTO t1(c2,c3) VALUES(13,14); +SELECT c1 FROM t1 WHERE c2=13; +INSERT INTO t2(c2,c3) VALUES(13,14); +SELECT c1 FROM t2 WHERE c2=13; +# Update the unsigned auto_increment field +UPDATE t1 SET c1=18446744073709551615,c2=9223372036854775807 WHERE c2=13; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE IGNORE t2 SET c1=0,c2=-9223372036854775808 WHERE c2=2; +SELECT c1,c2 FROM t1 ORDER BY c1; +UPDATE t2 SET c2=0 WHERE c2=5; +SELECT c1,c2 FROM t1 ORDER BY c1; +# Update the signed auto_increment field +UPDATE t2 SET c1=9223372036854775807,c2=18446744073709551615 WHERE c2=13; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=-9223372036854775808,c2=0 WHERE c2=2; +SELECT c1,c2 FROM t2 ORDER BY c1; +UPDATE t2 SET c1=0,c2=0 WHERE c2=5; +SELECT c1,c2 FROM t2 ORDER BY c1; + +# Multi table update +CREATE TABLE mt1 (c1 BIGINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt2 (c1 BIGINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +CREATE TABLE mt3 (c1 BIGINT NOT NULL PRIMARY KEY, c2 INTEGER, KEY(c2)); +INSERT INTO mt1 VALUES(1,1),(2,2),(3,3),(4,4),(5,5); +INSERT INTO mt2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6); +INSERT INTO mt3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15); +UPDATE IGNORE mt1, mt2 ,mt3 SET mt1.c2 = 30, mt2.c2 = 40, mt3.c2=50 WHERE mt1.c1=mt2.c2 AND mt2.c1=mt3.c2; +--sorted_result +SELECT * FROM mt1; +--sorted_result +SELECT * FROM mt2; +--sorted_result +SELECT * FROM mt3; +DROP TABLE mt1,mt2,mt3; + +# Update,Select,Delete,Select using various access methods +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +ALTER TABLE t2 CHANGE c2 c2 BIGINT UNSIGNED NULL, ADD KEY(c2); +INSERT INTO t1 VALUES(1,-1,1),(2,-2,2),(3,-3,3),(4,-4,4),(5,-5,5),(6,-6,6),(7,-7,7),(8,-8,8),(9,-9,9),(10,-10,10),(11,NULL,11); +INSERT INTO t2 VALUES(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(-7,7,7),(-8,8,8),(-9,9,9),(10,10,10),(-11,NULL,11),(-12,12,12); + +# Update using various methods +# eq-ref join +UPDATE t1,t2 SET t1.c1=50,t1.c2=50,t2.c1=50,t2.c2=50 WHERE t2.c1=t1.c1; +--sorted_result +SELECT * FROM t1,t2 WHERE t1.c1=50 AND t1.c2=50 AND t2.c1=50 AND t2.c2=50; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c1; +ALTER TABLE t2 CHANGE c1 c1 BIGINT SIGNED NOT NULL, DROP PRIMARY KEY; +ALTER TABLE t2 CHANGE c1 c1 BIGINT SIGNED NOT NULL, ADD KEY(c1); +INSERT INTO t2 VALUES(-9223372036854775808,0,12),(0,255,13),(9223372036854775807,18446744073709551615,14); + +# range access +UPDATE t2 SET c2=18446744073709551615 WHERE c1 <> 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 <> 0 ORDER BY c1; +UPDATE t2 SET c2=18446744073709551615 WHERE c1 >= 0 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 >= 0 ORDER BY c1 DESC; +UPDATE t2 SET c2=18446744073709551615 WHERE c1 <= -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 <= -9 ORDER BY c1; +UPDATE t2 SET c2=18446744073709551615 WHERE c1 <=> -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <=> -3 ORDER BY c1; +UPDATE t2 SET c2=18446744073709551615 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -6 AND -4 ORDER BY c1; +UPDATE t2 SET c2=18446744073709551615 WHERE c1 IN(-7,-8) ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 IN(-7,-8) ORDER BY c1 DESC; +UPDATE t2 SET c2=18446744073709551615 WHERE c2 IS NULL ORDER BY c2 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2; +UPDATE t2 SET c2=18446744073709551615 WHERE c1>= -9223372036854775808 AND c1 < -9 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1>= -9223372036854775808 AND c1 < -9 ORDER BY c1; + +# Using index-merge +UPDATE t2 SET c2=18446744073709551615 WHERE c1=-2 OR c2=1; +--sorted_result +SELECT * FROM t2 WHERE c2=18446744073709551615; + +# Select using various access methods +## Full table scan +--sorted_result +SELECT * FROM t2; +## Forward index scan, covering ## +--sorted_result +SELECT c2 FROM t2; +## Backward index scan, covering ## +SELECT c2 FROM t2 ORDER BY c2 DESC; +# ref access +--sorted_result +SELECT * FROM t2 WHERE c2=18446744073709551615; +## Range access ## +SELECT * FROM t2 WHERE c2 <> 18446744073709551615 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 <> 18446744073709551615 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 > 18446744073709551615 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 >= 18446744073709551615 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 < 18446744073709551615 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 <= 18446744073709551615 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 <=> 18446744073709551615 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 <=> 18446744073709551615 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 18446744073709551615 ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 BETWEEN 0 AND 18446744073709551615 ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IN(0,18446744073709551615) ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IN(0,18446744073709551615) ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 18446744073709551615 ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 >=0 AND c2 <= 18446744073709551615 ORDER BY c2,c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 DESC; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c2,c1 LIMIT 2; + +--sorted_result +SELECT * FROM t2 WHERE c2=18446744073709551615 OR c1=-4; + +# Test multi update with different join methods +CREATE TABLE mt1 (a bigint not null primary key, b bigint not null, key (b)); +CREATE TABLE mt2 (a bigint not null primary key, b bigint not null, key (b)); +INSERT INTO mt1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +INSERT INTO mt2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9); +# Full join, without key +update mt1,mt2 set mt1.a=mt1.a+100; +--sorted_result +select * from mt1; +# unique key +update mt1,mt2 set mt1.a=mt1.a+100 where mt1.a=101; +--sorted_result +select * from mt1; +# ref key +update mt1,mt2 set mt1.b=mt1.b+10 where mt1.b=2; +--sorted_result +select * from mt1; +# Range key (in mt1) +update mt1,mt2 set mt1.b=mt1.b+2,mt2.b=mt1.b+10 where mt1.b between 3 and 5 and mt2.a=mt1.a-100; +--sorted_result +select * from mt1; +--sorted_result +select * from mt2; +# test for non-updating table which is also used in sub-select +update mt1,mt2 set mt1.b=mt2.b, mt1.a=mt2.a where mt1.a=mt2.a and not exists (select * from mt2 where mt2.a > 10); +drop table mt1,mt2; + +# Testing delete using various access methods +TRUNCATE TABLE t2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(127,255,9); + +# Using Index-merge +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; +DELETE FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1=127 OR c2=3 ORDER BY c1; + +# Range access +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -128 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -128 ORDER BY c1; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 <= 127 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +DELETE FROM t2 WHERE c1 < 0 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 < 0 ORDER BY c1; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 > -3 ORDER BY c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c1 > -3 ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +DELETE FROM t2 WHERE c1=-3 OR c2=2; +SELECT * FROM t2 WHERE c1=-3 OR c2=2; +INSERT INTO t2 VALUES(-128,0,1),(-1,1,1),(-2,2,2),(-3,3,3),(-4,4,4),(-5,5,5),(-6,6,6),(0,0,7),(1,1,8),(2,NULL,9),(3,NULL,10),(127,255,11); +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +DELETE FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 BETWEEN -128 AND 127 ORDER BY c1; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +DELETE FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 IN(-2,0) ORDER BY c1 DESC; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +DELETE FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c1 >= -6 AND c2 < 3 ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +DELETE FROM t2 WHERE c2 IS NOT NULL ORDER BY c1 LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NOT NULL ORDER BY c1; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; +DELETE FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC LIMIT 2; +SELECT * FROM t2 WHERE c2 IS NULL ORDER BY c2,c1 DESC; + +# Muti-table delete +# +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); + +# join(Range checked for each record) +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +DELETE t1,t2 FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2 OR t2.c2=t1.c1 OR t2.c2<=>t1.c2; +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +INSERT INTO t1 VALUES(254,127,1),(0,-128,2),(1,127,3),(2,-128,4),(3,NULL,5); +INSERT INTO t2 VALUES(127,255,1),(127,1,2),(-128,0,3),(-128,2,4),(-1,NULL,5); +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2 WHERE a2.c1=a1.c2; +--sorted_result +SELECT * FROM t1,t2 WHERE t2.c1=t1.c2; +--error ER_UPDATE_TABLE_USED +DELETE FROM t1,t2 using t1,t2 where t1.c1=(select c1 from t1); + +# eq-ref join +CREATE TABLE t3(c1 BIGINT UNSIGNED NOT NULL PRIMARY KEY, c2 BIGINT SIGNED NULL, c3 INT); +CREATE TABLE t4(c1 BIGINT UNSIGNED, c2 INT); +INSERT INTO t3 VALUES(200,126,1),(250,-127,2); +INSERT INTO t4 VALUES(200,1),(150,3); +--sorted_result +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DELETE t3.*,t4.* FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +SELECT * FROM t3,t4 WHERE t3.c1=t4.c1 AND t3.c3=t4.c2; +DROP TABLE t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/update_time.test b/mysql-test/suite/engines/iuds/t/update_time.test new file mode 100644 index 00000000..bdfe81d3 --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/update_time.test @@ -0,0 +1,198 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings +# Create tables +CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 TIME NOT NULL, c2 TIME NULL, PRIMARY KEY(c1,c2)); +CREATE TABLE t3(c1 TIME NOT NULL, c2 TIME NULL, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t4(c1 TIME NOT NULL, c2 TIME NULL); + +# As a string in 'D HH:MM:SS.fraction' format + +INSERT INTO t1 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t2 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t3 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); +INSERT INTO t4 VALUES ('00:00:00.00','00:00:00.00'),('01:01:01.01','01:01:01.00'),('838:59:59.00','838:59:59.00'),('00:00:01','00:00:01'),('02:02:02','02:02:02'),('838:59:58','838:59:58'),('-838:59:59','-838:59:59'),('00:03','00:03'),('03:03','03:03'),('838:58','838:58'),('00 00:00:04','00 00:00:04'),('04 04:04:04','04 04:04:04'),('34 22:59:57','34 22:59:57'),('00 00:04','00 00:04'),('05 05:05','05 05:05'),('34 22:56','34 22:56'),('05 05','05 05'),('06 06','06 06'),('34 22','34 22'),('07','07'),('59','59'); + +#As a string with no delimiters in 'HHMMSS' format + +INSERT INTO t1 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t2 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t3 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); +INSERT INTO t4 VALUES('000008','000008'),('080808','080808'),('8385955','8385955'),('-8385955','-8385955'),('0009','0009'),('0909','0909'),('5454','5454'),('10','10'),('53','53'); + +#As a number in HHMMSS format + +INSERT INTO t1 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t2 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t3 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); +INSERT INTO t4 VALUES (000011.00,000011.00),(111111.11,111111.11),(8385952.00,8385952.00),(000012,000012),(121212,121212),(8385951,8385951),(1313,1313),(5151,5151),(14,14),(50,50); + +#As the result of a function that returns a value that is acceptable in a TIME context +SET TIMESTAMP=1233216687; # 2009-01-29 13:41:27 +INSERT INTO t1 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t2 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t3 VALUES(CURRENT_TIME(),CURRENT_TIME()); +INSERT INTO t4 VALUES(CURRENT_TIME(),CURRENT_TIME()); +#Insert permissible NULLs +INSERT INTO t1 VALUES('123456',null); +#INSERT INTO t2 VALUES('123456',null); +INSERT INTO t3 VALUES('123456',null); +INSERT INTO t4 VALUES('123456',null); +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +#Updating the tables +--sorted_result +SELECT c1 FROM t1 WHERE c1='00:00:07'; +UPDATE t1 SET c1='22:22:22' WHERE c1='00:00:07'; +--sorted_result +SELECT c1 FROM t1; +--sorted_result +SELECT c1 FROM t2 WHERE c1='-838:59:59' AND c2='-838:59:59'; +UPDATE t2 SET c1='22:22:22' WHERE c1='-838:59:59' AND c2='-838:59:59'; +--sorted_result +SELECT c1 FROM t2; + +# Update with NULL ( NULL to number & number to NULL) +--sorted_result +SELECT c2 FROM t3 WHERE c2=null; +UPDATE t3 SET c2='34 22:59:59' WHERE c2=null; +--sorted_result +SELECT c2 FROM t3; +--sorted_result +SELECT c2 FROM t4 WHERE c1='00:00:00'; +UPDATE t4 SET c2=null WHERE c1='00:00:00'; +--sorted_result +SELECT c2 FROM t4; + +#Update order by limit +--sorted_result +SELECT c1 FROM t4 WHERE c1 < '000009'; +UPDATE t4 SET c1='0101' WHERE c1 < '000009' ORDER BY c1 LIMIT 3; +--sorted_result +SELECT c1 FROM t4; + +#Update negative value to unsigned column +--sorted_result +SELECT c1 FROM t1 WHERE c1='12:12:12'; +UPDATE t1 SET c1='-12:12:12' WHERE c1='12:12:12'; +--sorted_result +SELECT c1 FROM t1; + +#Update with Arithmetic operations +--sorted_result +SELECT c1 FROM t1 WHERE c1=111127; +UPDATE t1 SET c1=c1+c2 WHERE c1=111127; +--sorted_result +SELECT c1 FROM t1; +--sorted_result +SELECT c1 FROM t2 WHERE c2='100:04:04'; +UPDATE t2 SET c1=c1 - '010101' WHERE c2=1000404; +--sorted_result +SELECT c1 FROM t2; +--sorted_result +SELECT c2 FROM t3 WHERE c2=020202; +UPDATE t3 SET c2=c1 * 2 WHERE c2='020202'; +--sorted_result +SELECT c1 FROM t3; +--sorted_result +SELECT c1 FROM t4 WHERE c1=121212; +UPDATE t4 SET c1=c1 / 2 WHERE c1='12:12:12'; +--sorted_result +SELECT c1 FROM t4; + +#Update range values +UPDATE t1 SET c2=1250000 WHERE c1='00:00:09' AND c1='01:01:01'; +--sorted_result +SELECT c2 FROM t1; +UPDATE t2 SET c1=125959 WHERE c2=000400 OR c2= 000900; +--sorted_result +SELECT c1 FROM t2; +UPDATE t2 SET c2='1111' WHERE c1 IN ('100:04:04',005454,'2:2:2',111111); +--sorted_result +SELECT c2 FROM t2; + +#Update outside range would be clipped to closest endpoints +UPDATE IGNORE t4 SET c2='-838:59:60' WHERE c1='100:04:04'; +--sorted_result +SELECT c2 FROM t4; +UPDATE IGNORE t4 SET c2='838:59:60' WHERE c1='100:04:04'; +--sorted_result +SELECT c2 FROM t4; +UPDATE t4 SET c2='00:00:00' WHERE c1='100:04:04'; +--sorted_result +SELECT c2 FROM t4; +UPDATE IGNORE t4 SET c2='11:11:60' WHERE c1='100:04:04'; +--sorted_result +SELECT c2 FROM t4; +UPDATE IGNORE t4 SET c2='11:60:11' WHERE c1='100:04:04'; +--sorted_result +SELECT c2 FROM t4; + +# Update ignore on bad null error +--sorted_result +SELECT c1 FROM t3 WHERE c2 < '000007'; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t3 SET c1=NULL WHERE c2 < '000007'; +UPDATE IGNORE t3 SET c1=NULL WHERE c2 < '000007'; +--sorted_result +SELECT c1 from t3 WHERE c2 < '000007'; +SET SQL_MODE=DEFAULT; + +#Duplicate keys +--error ER_DUP_ENTRY +UPDATE t1 SET c1=8385958 WHERE c2='34 22:59:59'; + +#Update with invalid values +UPDATE IGNORE t1 SET c2='def' WHERE c1=59; +--sorted_result +SELECT c2 FROM t1; +--error ER_PARSE_ERROR +UPDATE t4 SET c1=11:11:11 WHERE c2=NULL; +--sorted_result +SELECT c1 FROM t4; + +#Multi table update +UPDATE t1,t2,t3,t4 SET t1.c2=t2.c1+t2.c2,t3.c2=t4.c1*2 WHERE t1.c1='00:13:13' AND t2.c1=080808 AND t4.c1='00:04:00' AND t3.c2=020202; + +# Update using various access methods + +# Update using Const +# EXPLAIN SELECT * FROM t1 WHERE c1='00:09:09' AND c2='00:09:09'; +UPDATE t1 SET t1.c1='00:12:12' WHERE c1='00:09:09' AND c2='00:09:09'; +--sorted_result +SELECT * FROM t1; + +# Update using range +# EXPLAIN SELECT * FROM t1 WHERE c1 BETWEEN 080000 AND 100000; +--replace_regex /(Data truncated for column 'c2' at row) [1-9][0-9]*/\1 N/ +UPDATE IGNORE t1 SET t1.c2='99999.99999' WHERE c1 BETWEEN 080000 AND 100000; +--sorted_result +SELECT * FROM t1; +# EXPLAIN SELECT * FROM t1 WHERE c1 IN (222222,8385955,1500000); +UPDATE IGNORE t1 SET c1=c1+1,c2=c2-1 WHERE c1 IN (222222,8385955,1500000) ORDER BY c1; +--sorted_result +SELECT * FROM t1; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t2,t3 WHERE t2.c1=t3.c1 AND t2.c3=t3.c3; +UPDATE t1,t2 SET t1.c2='22222.22222' WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; + +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +#Drop tables; +DROP TABLE IF EXISTS t1,t2,t3,t4; + diff --git a/mysql-test/suite/engines/iuds/t/update_year.test b/mysql-test/suite/engines/iuds/t/update_year.test new file mode 100644 index 00000000..599c637e --- /dev/null +++ b/mysql-test/suite/engines/iuds/t/update_year.test @@ -0,0 +1,212 @@ +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4; +--enable_warnings +# Create tables +CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1)); +CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2)); +CREATE TABLE t3(c1 YEAR(2) NOT NULL,c2 YEAR(2), PRIMARY KEY(c1)); +CREATE TABLE t4(c1 YEAR(2), c2 YEAR(2), UNIQUE INDEX idx(c1,c2)); +#Insert as 4-digit number format in the range '1901' to '2155' +INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +INSERT INTO t4 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155); +#Insert as 4-digit string format in the range '1901' to '2155' +INSERT INTO t1 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t2 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t3 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +INSERT INTO t4 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'); +#Insert as 2-digit number format +INSERT INTO t1 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t2 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t3 VALUES (04,04),(64,64),(69,69),(97,97); +INSERT INTO t4 VALUES (04,04),(64,64),(69,69),(97,97); +#Insert as 2-digit string format +INSERT INTO t1 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t2 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t3 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +INSERT INTO t4 VALUES ('05','05'),('65','65'),('75','75'),('95','95'); +#Insert permissible NULLs +INSERT INTO t1 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t2 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t3 VALUES ('09',null),('61',null),('79',null),('96',null); +INSERT INTO t4 VALUES ('09',null),('61',null),('79',null),('96',null); +--sorted_result +SELECT * FROM t1; +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; +#Updating the tables +--sorted_result +SELECT c1 FROM t1 WHERE c1='2005'; +UPDATE t1 SET c1='2003' WHERE c1='2005'; +--sorted_result +SELECT c1 FROM t1; + +# Update with NULL ( NULL to number & number to NULL) +--sorted_result +SELECT c2 FROM t2 WHERE c2=null; +UPDATE t2 SET c2='2070' WHERE c2=null AND c1='1996'; +--sorted_result +SELECT c2 FROM t2; +--sorted_result +SELECT c2 FROM t3 WHERE c2 < '64'; +UPDATE t3 SET c2=null WHERE c2 < '64' ORDER BY c2 LIMIT 3; +--sorted_result +SELECT c2 FROM t3; + +#Update order by limit +--sorted_result +SELECT c1 FROM t4 WHERE c1 < '55'; +UPDATE t4 SET c1='00' WHERE c1 < '65' ORDER BY c1 LIMIT 5; +--sorted_result +SELECT c1 FROM t4; + +#Update with Arithmetic operations +# +#Updating 'YY' values +--sorted_result +SELECT c1 FROM t3 WHERE c1='05'; +UPDATE t3 SET c1=c1+c2 WHERE c1='05'; +--sorted_result +SELECT c1 FROM t3; +--sorted_result +SELECT c1 FROM t4 WHERE c2=4; +UPDATE t4 SET c1=c1 + 04 WHERE c2=04; +--sorted_result +SELECT c1 FROM t4; +--sorted_result +SELECT c2 FROM t3 WHERE c2=75; +UPDATE t3 SET c2=c2 + 1902 WHERE c2='75'; +--sorted_result +SELECT c2 FROM t3; +--sorted_result +SELECT c1 FROM t4 WHERE c1=09; +UPDATE t4 SET c1=c1 - c2 WHERE c1='09'; +--sorted_result +SELECT c1 FROM t4; +--sorted_result +SELECT c1 FROM t3 WHERE c1=75; +UPDATE t3 SET c1=c1 - 01 WHERE c1='75'; +--sorted_result +SELECT c1 FROM t3; +--sorted_result +SELECT c1 FROM t4 WHERE c1=98; +UPDATE t4 SET c1=c1 / 2 WHERE c1='98'; +--sorted_result +SELECT c1 FROM t4; +--sorted_result +SELECT c2 FROM t3 WHERE c2=03; +UPDATE t3 SET c2=c2 * 03 WHERE c2='03'; +--sorted_result +SELECT c2 FROM t3; +# +#Updating 'YYYY' values +--sorted_result +SELECT c1 FROM t1 WHERE c1 > 2060 AND c1 < 2070; +UPDATE t1 SET c1=c1 + 10 WHERE c1 > 2060 AND c1 < 2070; +--sorted_result +SELECT c1 FROM t1; +--sorted_result +SELECT c1 FROM t2 WHERE c1 > 1969 AND c1 < 1980; +UPDATE t2 SET c1=c1 - 10 WHERE c1 > 1969 AND c1 < 1980 ORDER BY c1 LIMIT 2; +--sorted_result +SELECT c1 FROM t2; + +#Update range values +UPDATE t2 SET c2=2009 WHERE c1=2009 AND c2=null; +--sorted_result +SELECT c2 FROM t2; +UPDATE t1 SET c2=2155 WHERE c1=1979 OR c1=2154; +--sorted_result +SELECT c2 FROM t1; +UPDATE t4 SET c1=99 WHERE c2 IN (01,54,65,69,null); +--sorted_result +SELECT c1 FROM t4; + +# Update outside range would be clipped to closest endpoints +UPDATE IGNORE t1 SET c2=-1 WHERE c1=2071; +--sorted_result +SELECT c2 FROM t1; +UPDATE t1 SET c2=0 WHERE c1=2003; +--sorted_result +SELECT c2 FROM t1; +UPDATE IGNORE t1 SET c2=2156 WHERE c1=2001; +--sorted_result +SELECT c2 FROM t1; +UPDATE IGNORE t4 SET c2=-1 WHERE c1=71; +--sorted_result +SELECT c2 FROM t4; +UPDATE t4 SET c2=0 WHERE c1=70; +--sorted_result +SELECT c2 FROM t4; +UPDATE IGNORE t4 SET c2=100 WHERE c1=79; +--sorted_result +SELECT c2 FROM t4; + +# Update ignore on bad null error +--sorted_result +SELECT c1 FROM t1 WHERE c2 < 1975; +SET SQL_MODE=STRICT_ALL_TABLES; +--error ER_BAD_NULL_ERROR +UPDATE t1 SET c1=NULL WHERE c2 < 1975; +UPDATE IGNORE t1 SET c1=NULL WHERE c2 < 1975; +--sorted_result +SELECT c1 from t1 WHERE c2 < 1975; +SET SQL_MODE=DEFAULT + +#Update with invalid values +#UPDATE t2 SET c1='def' WHERE c2=2064; +#--sorted_result +#SELECT c1 FROM t2; +UPDATE IGNORE t4 SET c1=-70 WHERE c2=75; +--sorted_result +SELECT c1 FROM t4; + +#Update duplicate key +--error ER_DUP_ENTRY +UPDATE t1 SET c1=1971 WHERE c2=1995; + +#Multi table update +UPDATE t1,t2,t3,t4 SET t3.c1=t4.c1+t4.c2 WHERE t3.c1=61 AND t4.c2=4; + +# Update using various access methods + +# Update using Const +# EXPLAIN SELECT * FROM t1 WHERE c1=2074 AND c2=2064; +UPDATE t1 SET t1.c1=2073 WHERE c1=2074 AND c2=2064; +--sorted_result +SELECT * FROM t1; + +# Update using range +# EXPLAIN SELECT * FROM t1 WHERE c1 BETWEEN 2000 AND 2010; +UPDATE t1 SET t1.c2=0000 WHERE c1 BETWEEN 2000 AND 2010; +--sorted_result +SELECT * FROM t1; +# EXPLAIN SELECT * FROM t1 WHERE c1 IN (2154,2009,1979); +UPDATE IGNORE t1 SET c1=c1-1,c2=c2+1 WHERE c1 IN (2154,2009,1979); +--sorted_result +SELECT * FROM t1; + +# Update using eq_ref +# EXPLAIN SELECT * FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; +UPDATE t1,t2 SET t1.c2='2155' WHERE t1.c1=t2.c1 AND t1.c2=t2.c2; + +#BUG49910 +--disable_result_log +--sorted_result +SELECT * FROM t1; +--enable_result_log +--sorted_result +SELECT * FROM t2; +--sorted_result +SELECT * FROM t3; +--sorted_result +SELECT * FROM t4; + +#Drop tables +DROP TABLE IF EXISTS t1,t2,t3,t4; + -- cgit v1.2.3